该网页告诉我,我们可以使用$ORIGIN
将可执行文件的目录作为搜索目录烘焙到可执行文件中。这条runpath
命令可以写成:
-Wl,--enable-new-dtags,-rpath,"\$ORIGIN"
但是我试图加载的共享库与可执行文件并不完全相同。它位于LIB
可执行文件所在的子目录中。该网页没有告诉我该怎么做。我尝试了许多连接 LIB 的方法,但都无济于事,例如 "\$ORIGIN/LIB"、"\$ORIGIN"/LIB、\$ORIGIN/LIB 或 "\$ORIGIN/LIB/"。我也没有从谷歌搜索中找到任何线索。你能告诉我 $ORIGIN 在运行路径标志中指定相对于它的目录的正确语法吗?谢谢你。
PS:我正在使用 GNU make 4.1 和 GNU ld 2.26.1 开发 ubuntu 16.04。