2012-08-22 82 views
0

我試圖編譯最新版本的ffmpeg(在CentOS 5.3中)。我首先下載了libx264的最新版本,並將其編譯爲--enable-static並將其安裝在/usr/local/中。然而,當我再編譯的ffmpeg我收到此錯誤信息:編譯ffmpeg:如何強制它鏈接到特定的libx264?

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

搜索在網絡上,我看到,如果ffmpeg的是撿了一箇舊版本libx264的,我確實有(在/usr/lib)這可能發生並且無法卸載,因爲其他軟件依賴於它。問題是:我如何強制ffmpeg鏈接到我想要的libx264?上一次我必須這樣做(無可否認,一年前)我也有兩個版本的libx264,我不記得有什麼特別的。有沒有我忘記的配置開關?

+0

你想要傳遞一些額外的編譯器和鏈接器標誌,以便在/ usr /'之前搜索'/ usr/local /'。像'-I/usr/local/include'和'-L/usr/local/lib'。查看這些標誌的gcc文檔以獲取更多信息。 – blahdiblah

+0

那麼,我必須自己編輯ffmpeg Makefile嗎? – PaulJ

+0

編號'configure'具有傳遞附加標誌的選項,通常是'configure --extra-cflags --extra-ldflags '或類似的東西。應該在'configure --help'中記錄。 – blahdiblah

回答

1

使用和android-ffmpeg git項目作爲example與靜態x264庫,像'blahdblah'已經說過...我想你只需要在CC和LINK階段正確設置你的lib路徑。注意鏈接底部的'cflags'和'ldflags'開關。

我並不是想通過引入一個android例子來使事情複雜化,但它可能有助於查看'config_ffmpeg'的這個實例。

+0

謝謝!這工作。 – PaulJ

0

你只是試圖解碼H264,我們基於FFMPEG .8框架,這似乎比最新

www.github.com/mooncatventures-group多一點穩定

相關問題