编译ffmpeg:如何强制它链接到特定的libx264?

时间:2012-08-22 18:46:26

标签: ffmpeg x264

我正在尝试编译最新版本的ffmpeg(在CentOS 5.3中)。我首先下载了最新版本的libx264,并使用--enable-static对其进行了编译,并将其安装在/usr/local/中。但是,当我编译ffmpeg时,我收到此错误消息:

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?我最后一次这样做(不可否认一年前)我也有2个版本的libx264,我不记得要做任何特别的事情了。是否有我忘记的配置开关?

2 个答案:

答案 0 :(得分:1)

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

我并不是要通过引入一个Android示例来使问题复杂化,但是查看这个'config_ffmpeg'实例可能会有所帮助。

答案 1 :(得分:0)

你只是想解码h264,我们有一个基于ffmpeg .8的框架,它似乎比最新的

更稳定

www.github.com/mooncatventures-group