【问题标题】:VLC libx264 build error - "undefined reference to 'x264_encoder_open_128'"VLC libx264 构建错误 - “未定义对 'x264_encoder_open_128' 的引用”
【发布时间】:2012-12-31 13:58:32
【问题描述】:
主要问题
尝试重复此错误的步骤。
- 下载最新的 git (git://git.videolan.org/x264.git)。
- 运行
./configure - 您可以使用任何选项,所有选项都存在错误。
- 运行
sudo make - 它将编译所有代码,但在链接代码时会遇到错误
/usr/local/lib/libavcodec.a(libx264.o):在函数“X264_init”中:
/.../libx264.c:418: 未定义对“x264_encoder_open_128”的引用
然后这将退出并退出make。我已经删除了所有与 x264 相关的 apt 包。我已经在我的计算机上搜索了任何可能相关的库并删除了它们。这个问题仍然存在。有人可以解释发生了什么问题以及解决此问题的最简单方法吗?
其他信息
构建avconv 时也会出现此错误。它在链接时也会失败,并出现相同的错误。所以我可以假设那个目录或源没有错。
【问题讨论】:
标签:
linux
makefile
libav
libx264
【解决方案1】:
这是与依赖于旧版本 libx264 的 libavcodec.a 链接的错误。如果您只需要 libx264,则可以在没有 lavf 支持的情况下编译它(./configure --disable-lavf)。如果您需要支持 lavf 的 x264,则需要重新编译没有 libx264 的 libavcodec.a。即你需要打破 libavcodec 和 libx264 之间的循环依赖关系。