未定义的参考`x264_encoder_open_125'(undefined refere

2019-07-30 19:39发布

虽然在Ubuntu 12.04安装的ffmpeg

我收到以下错误

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

我在下面给出的说明http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide

不要任何人有这个错误的想法?

Answer 1:

这是谁已经通过软件包管理系统安装X264人的一个典型问题。 您可以在至少2种方式解决这个问题:

  1. 从系统中卸载现有的X264,通过软件包管理系统:

     # apt-get remove x264 

    并从源代码编译新的X264

  2. 不要卸载X264包,但编译新的X264 ,然后编译的ffmpeg ,告诉它使用新编译X264库,通过指定目录下的编译X264库,使用上述LD_LIBRARY_PATH环境变量:

     LD_LIBRARY_PATH=/path/to/my/compiled/x264/library ./configure --enable-libx264 ... 

更多信息可以在这些链接中找到:

  • 与ffmpeg的--enable-libx264的选项问题
  • FFmpeg的编译


Answer 2:

添加报头和lib路径

gcc x264_test1.c -o x264_encoder -I/usr/local/include -L/usr/local/lib -lpthread -lm -lx264



文章来源: undefined reference to `x264_encoder_open_125'