2012-08-07 152 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