linux - VLC libx264 构建错误 - "undefined reference to ' x264_encoder_open_12 8'"

标签 linux makefile libav libx264

主要问题

尝试重复此错误的步骤。

  • 下载最新的 git (git://git.videolan.org/x264.git)。
  • 运行./configure - 您可以使用任何选项,所有选项都会出现错误。
  • 运行sudo make - 它将编译所有代码,但是当需要链接代码时,它会遇到错误

    /usr/local/lib/libavcodec.a(libx264.o): In function 'X264_init':
    /.../libx264.c:418: undefined reference to 'x264_encoder_open_128'

然后它会掉下来并退出 make。我已经删除了所有与 x264 相关的 apt 软件包。我已在计算机中搜索任何可能相关的库并将其删除。这个问题仍然存在。有人可以解释一下出了什么问题以及解决这个问题的最简单方法吗?

其他信息

构建 avconv 时也会出现此错误。它在链接时也会失败并出现相同的错误。所以我可以假设该目录或源没有任何问题。

最佳答案

这是与 libavcodec.a 链接的错误,它依赖于旧版本的 libx264。如果您只需要 libx264,则可以在没有 lavf 支持的情况下编译它(./configure --disable-lavf)。如果您需要具有 lavf 支持的 x264,则需要重新编译不带 libx264 的 libavcodec.a。即您需要打破 libavcodec 和 libx264 之间的循环依赖关系。

关于linux - VLC libx264 构建错误 - "undefined reference to ' x264_encoder_open_12 8'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14372138/

相关文章:

linux - echo 不能从 Makefile 工作

c - 我在哪里可以找到 libav、ffmpeg 等的现代教程?

c++ - 如何在 libav 中使用 PixelFormat 获取像素位数

PHP 无法读取文件

linux - 在 HPC 上自动测试来自 SVN 的二进制文件

c - 当 C 中有多个实现共享同一接口(interface)时,如何编写 CMakeLists.txt 或 Makefile 以避免冲突?

ffmpeg - avconv/ffmpeg 网络摄像头捕获,同时使用最少的 CPU 处理

linux - 如何使用 pax 解压到特定目录

linux - Linux Ubuntu下启动时自动运行程序

java - 为什么 Android aosp 中没有构建 JAVA 库?