2012-08-07 166 views
7

虽然在Ubuntu 12.04安装的ffmpeg未定义的参考`x264_encoder_open_125'

我收到以下错误

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

的指示不要任何人有这种想法错误?

+3

你需要确保你也有从源代码编译X264正常。通常在编译x264错误版本或者预安装版本与从源代码安装的版本之间发生冲突时通常会看到此内容。尝试将LD_LIBRARY_PATH设置为libx264应该在的目录。 – av501 2012-08-07 06:21:16

+0

你是否按照指导逐字?正如user1559108提到的,您可能同时安装了两个不同版本的x264(这包括libx264-dev软件包)。 – LordNeckbeard 2012-08-07 22:43:24

回答

9

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

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

    # apt-get remove x264 
    

    compile your new x264 from source

  2. 不要卸载x264包,但compile your new x264,然后compile your ffmpeg,告诉它使用新编译的x264库,通过指定编译的x264库所在的目录,使用提到的LD_LIBRARY_PATH环境变量:

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

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

+0

对我来说这样的工作(将macports安装到安装有x264的/ opt/rdp_project_local中):'CFLAGS =“ - I/opt/rdp_project_local/include”LDFLAGS =“ - L/opt/rdp_project_local/lib”./configure ... – rogerdpack 2013-12-17 19:59:09

+0

您可能还会考虑'PKG_CONFIG_PATH =/path/to/my/compiled/x264/library ./configure ...' – 2016-03-01 15:34:42