【发布时间】:2012-11-17 00:23:27
【问题描述】:
链接库时,使用-rpath将动态库的地址传递给ld。我的问题是如果我在 LD_LIBRARY_PATH 中设置地址,我的链接中是否还需要 -rpath 标志 过程?
【问题讨论】:
标签: g++ linker-scripts
链接库时,使用-rpath将动态库的地址传递给ld。我的问题是如果我在 LD_LIBRARY_PATH 中设置地址,我的链接中是否还需要 -rpath 标志 过程?
【问题讨论】:
标签: g++ linker-scripts
通常,您不需要它,实际上最好不要在可执行文件中编码库搜索路径(-rpath 选项将二进制文件中的路径编码为DT_RPATH 或DR_RUNPATH)
PS。我自己的一般方法是将可执行文件与 --rpath 选项链接,而它们在构建树中并依赖于构建树中的其他库,以方便调试,但在安装时(make install,构建包)以重新链接不带 --rpath 选项,并将查找共享库的任务留给目标平台的适当动态链接器配置(例如ld.so.conf)。
【讨论】: