2012-08-22 32 views
0

我试图编译最新版本的ffmpeg(在CentOS 5.3中)。我首先下载了libx264的最新版本,并将其编译为--enable-static并将其安装在/usr/local/中。然而,当我再编译的ffmpeg我收到此错误信息:编译ffmpeg:如何强制它链接到特定的libx264?

libavcodec/libavcodec.a(libx264.o): In function `X264_init': 
/usr/local/src/ffmpeg/libavcodec/libx264.c:494: undefined reference to `x264_encoder_open_125' 
collect2: ld returned 1 exit status 
make: *** [ffmpeg_g] Error 1 

搜索在网络上,我看到,如果ffmpeg的是捡了一个旧版本libx264的,我确实有(在/usr/lib)这可能发生并且无法卸载,因为其他软件依赖于它。问题是:我如何强制ffmpeg链接到我想要的libx264?上一次我必须这样做(无可否认,一年前)我也有两个版本的libx264,我不记得有什么特别的。有没有我忘记的配置开关?

+0

你想要传递一些额外的编译器和链接器标志,以便在/ usr /'之前搜索'/ usr/local /'。像'-I/usr/local/include'和'-L/usr/local/lib'。查看这些标志的gcc文档以获取更多信息。 – blahdiblah

+0

那么,我必须自己编辑ffmpeg Makefile吗? – PaulJ

+0

编号'configure'具有传递附加标志的选项,通常是'configure --extra-cflags --extra-ldflags '或类似的东西。应该在'configure --help'中记录。 – blahdiblah

回答

1

使用和android-ffmpeg git项目作为example与静态x264库,像'blahdblah'已经说过...我想你只需要在CC和LINK阶段正确设置你的lib路径。注意链接底部的'cflags'和'ldflags'开关。

我并不是想通过引入一个android例子来使事情复杂化,但它可能有助于查看'config_ffmpeg'的这个实例。

+0

谢谢!这工作。 – PaulJ

0

你只是试图解码H264,我们基于FFMPEG .8框架,这似乎比最新

www.github.com/mooncatventures-group多一点稳定

相关问题