- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Linux 上,ld.so(8)
手册页讨论了动态库的搜索顺序。它说 DT_RPATH
已弃用,还提到 DT_RUNPATH
.没有提到-rpath
链接器选项。ld(1)
手册页提到了 -rpath
和 -rpath-link
选项,但从未提及 DT_RPATH
或 DT_RUNPATH
除了描述图书馆搜索顺序,这当然与 ld.so(8)
中给出的信息不匹配。 .
最后还有一个 LD_RUN_PATH
环境变量。 ld(1)
如果 -rpath
说它使用和 -rpath-link
选项未设置,但 ld.so(8)
没有提到它。
我的直觉是 -rpath
实际设置DT_RPATH
, 和 -rpath-link
套DT_RUNPATH
,但我无法在任何地方找到这一点。我一直用-rpath
;如果与DT_RPATH
相同比我不应该使用它,但是我在动态链接上找到的操作方法文章说要使用它,所以我不确定它是一样的。
有人可以澄清如何DT_RPATH
和 DT_RUNPATH
是否设置,是否与-rpath
相同和 -rpath-link
?
最佳答案
-rpath
用于创建 DT_RPATH
的命令行选项.dynamic
中的条目部分,但由于 DT_RPATH
被弃用,取而代之的是 DT_RUNPATH
, 现代链接器版本使用 DT_RUNPATH
反而。这意味着使用 -rpath
在一个非常旧的链接器上,您将使用 .d_val = DT_RPATH
创建一个动态部分条目。 ,但如果您的链接器是最新的,您将创建一个 .d_val = DT_RUNPATH
反而。-rpath-link
option 是一个不创建任何条目的选项,但用于取代 DT_RUNPATH
正在链接的库的动态部分中存在的条目。因此,在编译时,您通常应该不需要它。您可以在 man 1 ld
上找到更多信息(向下滚动到 -rpath-link=
)或在 this other answer .
关于linux - 如何设置 DT_RPATH 或 DT_RUNPATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67131565/
在 Linux 上,ld.so(8)手册页讨论了动态库的搜索顺序。它说 DT_RPATH已弃用,还提到 DT_RUNPATH .没有提到-rpath链接器选项。ld(1)手册页提到了 -rpath和
我是一名优秀的程序员,十分优秀!