LD_LIBRARY_PATH和-rpath之间有什么区别

时间:2012-11-29 01:02:39

标签: g++ linker-scripts

链接库时,-rpath用于将动态库的地址传递给ld。我的问题是如果我在LD_LIBRARY_PATH中设置地址,我的链接中是否还需要-rpath标志 过程

1 个答案:

答案 0 :(得分:2)

通常,您不需要它,实际上最好不要在可执行文件中编码库搜索路径(-rpath选项将二进制文件中的路径编码为DT_RPATHDR_RUNPATH

PS。我自己的一般方法是将可执行文件 --rpath选项链接起来,而它们在构建树中并依赖于构建树中的其他库,以便于调试,但是在安装时({{ 1}},构建包)重新链接而不用 make install选项,并将查找共享库的任务留给相应的动态链接器配置(例如--rpath)目标平台。