Linux 如何配置链接以使已编译的二进制文件找到库?

Linux 如何配置链接以使已编译的二进制文件找到库?,linux,compilation,ffmpeg,makefile,Linux,Compilation,Ffmpeg,Makefile,我正在编译ffmpeg。配置: --前缀=/home/john/zope/engage/zeocluster/ffmpeg/parts/ffmpeg build --额外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/eng

我正在编译
ffmpeg
。配置:


--前缀=/home/john/zope/engage/zeocluster/ffmpeg/parts/ffmpeg build
--额外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'
--额外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\u PATH=./parts/ffmpeg-build/lib:./parts/x264-build/lib./parts/ffmpeg-build/bin/ffmpeg
运行二进制文件


为什么需要这个
LD\u LIBRARY\u路径
?我不是已经告诉编译器链接这些库了吗

如果使用gcc,则可以使用链接器选项指定运行时动态链接的首选路径。您可以添加几个
rpath
选项,每个选项如下:

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

Diego,你的答案看起来不错。看起来我应该使用
--with-stage1-ldflags=“-Wl,-rpath,${buildout:directory}/parts/ffmpeg build/lib,-rpath,${buildout:directory}/parts/x264 build/lib”
作为
/configure
的选项。不幸的是,此包中的configure版本似乎太旧。您可以在运行
configure
后调整Makefiles。当然,它们会有一些,但可能不会太多。事实证明,使用
LDFLAGS
环境变量或不同
configure
风格的其他相应标志可以实现同样的效果。啊,没错,您可以随时调用
make LDFLAGS=…
。但是,我发现ffmpeg编译支持不支持这个现成的
rpath
选项。不管怎样,很高兴你修好了。