rpath 值可以是符号 link 吗?
Can rpath value be a symbolic link?
在 makefile 中,我像这样将 rpath 传递给 linker
-Wl,-rpath,/absolute_path_to_folder_with_lib
一切正常,但当我这样做时
-Wl,-rpath,~/symlink
在哪里
~/symlink -> /absolute_path_to_folder_with_lib
库未加载
rpath 的值可以是符号 link 吗?
Can value of rpath be a symbolic link?
当然可以,但是你误解了你的问题,这不是关于符号 link,而是关于 ~
扩展。
当您 link 您的二进制文件带有 -Wl,-rpath,~/symlink
时,您最终会得到 RPATH
,即 字面意思 ~/symlink
。这样的目录(或 symlink)不存在。
当您输入例如ls ~/symlink
到你的 shell,实际发生的是你的 shell 扩展 ~
到任何 $HOME
设置,然后 readdir
扩展结果。
但是dynamic linker不执行任何这样的扩展,并且字面上寻找./~/symlink
,这当然不存在。
那你想要的是:-Wl,-rpath,$HOME/symlink
.
在 makefile 中,我像这样将 rpath 传递给 linker
-Wl,-rpath,/absolute_path_to_folder_with_lib
一切正常,但当我这样做时
-Wl,-rpath,~/symlink
在哪里 ~/symlink -> /absolute_path_to_folder_with_lib 库未加载 rpath 的值可以是符号 link 吗?
Can value of rpath be a symbolic link?
当然可以,但是你误解了你的问题,这不是关于符号 link,而是关于 ~
扩展。
当您 link 您的二进制文件带有 -Wl,-rpath,~/symlink
时,您最终会得到 RPATH
,即 字面意思 ~/symlink
。这样的目录(或 symlink)不存在。
当您输入例如ls ~/symlink
到你的 shell,实际发生的是你的 shell 扩展 ~
到任何 $HOME
设置,然后 readdir
扩展结果。
但是dynamic linker不执行任何这样的扩展,并且字面上寻找./~/symlink
,这当然不存在。
那你想要的是:-Wl,-rpath,$HOME/symlink
.