在 linux 上安装 FAAC,出现错误

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4320226/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-05 00:11:44  来源:igfitidea点击:

Installing FAAC on linux, getting errors

linuxubuntuffmpegvideo-processing

提问by Kyle Monti

I am trying to install FAAC on linux. I'm getting errors.

我正在尝试在 linux 上安装 FAAC。我收到错误。

I use this to install.

我用这个来安装。

cd /usr/src
wget http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/faac-1.28.tar.bz2/download
tar -xvjf faac-1.28.tar.bz2
cd faac-1.28
./configure
make
make install

Once I try to make it, I get the error

一旦我尝试制作它,我就会收到错误

mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)'
/usr/include/string.h:369: error: ambiguates old declaration ‘const char* strcasestr(const char*, const char*)'
make[3]: *** [3gp.o] Error 1
make[3]: Leaving directory `/usr/src/faac-1.28/common/mp4v2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/faac-1.28/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/faac-1.28'
make: *** [all] Error 2

I read up online and it was saying it was interfearing with something, and I had to locate a file and edit it.

我在网上阅读,它说它干扰了某些东西,我必须找到一个文件并对其进行编辑。

How do i fix this installation so it install properly.

我如何修复此安装以使其正确安装。

采纳答案by user502515

Remove line 126 containing strcasestr from mpeg4ip.h found in the common/mp4v2 folder, as a temporary workaround. It seems it does not properly exclude its own prototype when it is already included by means of glibc's strcasestr (#define _GNU_SOURCE 1).

作为临时解决方法,从位于 common/mp4v2 文件夹中的 mpeg4ip.h 中删除包含 strcasestr 的第 126 行。当它已经通过 glibc 的 strcasestr (#define _GNU_SOURCE 1)包含在内时,它似乎没有正确排除自己的原型。

BTW: Isn't ffmpeg on the way to have its own AAC code such that faac/faad is no longer needed as a dependency...

顺便说一句:ffmpeg 不是在拥有自己的 AAC 代码的路上,这样 faac/faad 不再需要作为依赖项......

回答by user502515

Ubuntu 12.04 - kernel 3.5x to 3.8.0-32-generic

Ubuntu 12.04 - 内核 3.5x 到 3.8.0-32-generic

Step 1:

第1步:

apt-get -y remove gstreamer0.10-plugins-bad
apt-get -y install libfaad-dev libfaac-dev faac faad

Step 2:

第2步:

cd /var/tmp

wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.23.tar.gz
tar xvfz gst-plugins-bad-0.10.23.tar.gz
cd gst-plugins-bad-0.10.23/
./autogen.sh
./configure

configure: *** Plug-ins with dependencies that will be built:
    decklink
    dvb
    faac
    faad
    fbdevsink
    gsettings
    linsys
    shm
    vcdsrc
    vp8

make

Making all in faac
make[3]: Entering directory `/var/tmp/gst-plugins-bad-0.10.23/ext/faac'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/var/tmp/gst-plugins-bad-0.10.23/ext/faac'

Making all in faad
make[3]: Entering directory `/var/tmp/gst-plugins-bad-0.10.23/ext/faad'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/var/tmp/gst-plugins-bad-0.10.23/ext/faad'

Making all in gsettings

make install

Step 3: verify

第 3 步:验证

gst-inspect-0.10 faac | grep Version
  Version:      0.10.21

gst-inspect-0.10 faad | grep Version
? Version:      0.10.23

EDIT: deb packages

编辑:deb 包

http://labkom.stikom.edu/ubuntu/pool/universe/g/gst-plugins-bad0.10/

http://labkom.stikom.edu/ubuntu/pool/universe/g/gst-plugins-bad0.10/