这是this one的后续问题。
我了解在$ORIGIN
选项中使用-rpath
会生成一个动态绝对路径,该路径始终指向指定位置 - 无论我在何处使用该库。
让我感到困惑的是以下内容:我使用此库生成共享二进制文件,并使用-Wl,-rpath
设置(再次)$ORIGIN
选项,以使二进制文件始终可以找到其库。现在,库的原始$ORIGIN
值不再可用或错误,因为它似乎被新的值覆盖。
不知怎的,这是可以理解的,因为我现在正在生成一个新的共享对象 - 二进制文件 - 它有自己的$ORIGIN
。解决这个问题的方法是为二进制文件-rpath
提供两个位置,一个位于库中,另一个位于库本身需要的位置。在我看来,这使-rpath
几乎无用,因为我不能只链接到库并指定它的位置我还需要指定库的依赖位置。
我的问题:有没有办法使用-rpath
指定分层$ORIGIN
值?我想避免绝对路径,这显然会解决我的问题。