2015-10-05 84 views
0

我在編譯ffmpeg。配置:如何配置鏈接以便編譯的二進制文件找到庫?

--prefix=/home/john/zope/engage/zeocluster/ffmpeg/parts/ffmpeg-build --extra-cflags='-I/home/john/zope/engage/zeocluster/ffmpeg/parts/x264-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/ogg-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/theora-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/lame-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/faac-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/faad-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/vpx-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/vorbis-build/include -I/home/john/zope/engage/zeocluster/ffmpeg/parts/ffmpeg-build/include' --extra-ldflags='-L/home/john/zope/engage/zeocluster/ffmpeg/parts/x264-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/ogg-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/theora-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/lame-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/faac-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/faad-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/vpx-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/vorbis-build/lib -L/home/john/zope/engage/zeocluster/ffmpeg/parts/ffmpeg-build/lib'

構建完成罰款,並LD_LIBRARY_PATH=./parts/ffmpeg-build/lib:./parts/x264-build/lib ./parts/ffmpeg-build/bin/ffmpeg運行二進制文件。

爲什麼LD_LIBRARY_PATH是必需的?我不是已經告訴編譯器鏈接這些庫嗎?

回答

2

如果您使用的是gcc,您可以使用鏈接器選項來指定運行時動態鏈接的首選路徑。您可以添加幾個rpath選項,每個像這樣:

gcc ... -Wl,-rpath=<PATH> 
+0

迭戈,你的答案看起來不錯。它看起來應該使用'--with-stage1-ldflags =「 - Wl,-rpath,$ {buildout:directory}/parts/ffmpeg-build/lib,-rpath,$ {buildout:directory}/parts/x264 -build/lib「'作爲'。/ configure'的選項。不幸的是,它看起來像這個包中的配置版本太舊了。 –

+0

運行'configure'後,您可以調整Makefiles。當然,他們會是一些,但也許不是那麼多。 –

+0

原來,使用'LDFLAGS'環境變量或其他相應的標誌在不同'configure'風格中可以實現相同的功能。 –

相關問題