在 Linux 上,ld.so(8)手册页讨论了动态库的搜索顺序。它说这DT_RPATH已被弃用,并且还提到了DT_RUNPATH. 没有提及-rpath链接器选项。
手册ld(1)页提到了-rpath和-rpath-link选项,但在描述库搜索顺序时从未提及DT_RPATH或DT_RUNPATHexcept,这当然与 中给出的信息不匹配ld.so(8)。
最后还有一个LD_RUN_PATH环境变量。ld(1)说如果未设置-rpath和选项则使用它,但没有提及。-rpath-linkld.so(8)
我的直觉是,-rpath实际上设置了DT_RPATH,并且-rpath-link设置了DT_RUNPATH,但我在任何地方都找不到这一点得到证实。我一直用-rpath; 如果它与我不应该使用它相同DT_RPATH,但是我在动态链接上找到的操作方法文章说要使用它,所以我不确定它是否相同。
有人可以澄清DT_RPATH和是如何设置的,以及它们是否与和DT_RUNPATH相同?-rpath-rpath-link