在makefile中,我像这样将rpath传递给链接器
-Wl,-rpath,/absolute_path_to_folder_with_lib
一切正常,但当我这样做时
-Wl,-rpath,~/symlink
其中 ~/symlink -> /absolute_path_to_folder_with_lib 没有加载库 rpath 的值可以是符号链接吗?
rpath 的值可以是符号链接吗?
确实可以,但是您误解了您的问题,这与符号链接无关,而是与~
扩展有关。
当您将二进制文件与 链接时-Wl,-rpath,~/symlink
,您最终RPATH
会得到字面上 ~/symlink
的. 这样的目录(或符号链接)不存在。
当您在 shell 中键入 eg 时ls ~/symlink
,实际发生的情况是您的 shell 扩展为设置的~
任何$HOME
内容,然后readdir
对扩展结果执行 a。
但是动态链接器不执行任何这样的扩展,并且从字面上寻找./~/symlink
当然不存在的 。
那么你想要的是:-Wl,-rpath,$HOME/symlink
.