我正在编译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
?我不是已经告诉编译器链接到这些库了吗?
如果您使用的是gcc,您可以使用链接器选项来指定运行时动态链接的首选路径。您可以添加几个rpath
选项,每个选项如下:
gcc ... -Wl,-rpath=<PATH>