otool -L someApp
显示了一堆称为
@rpath/../Frameworks/Blah.framework/...
我的理解是,加载程序/动态链接器使用嵌入在someApp
中的位置列表来通过代替@rpath
指令来替换框架来生成可能的路径。但是我不知道如何看到该位置列表。
那么我如何看到该列表?
该应用程序对RPATH构成的路径是其负载命令的一部分。您可以使用otool -lV <path>
显示负载命令。加载命令添加路径的路径具有命令LC_RPATH
。因此,要查看所有这些,您可以使用:
otool -lV <path> | grep -B 1 -A 2 LC_RPATH
所有的话,rpath是动态的。当一个过程加载库时,该库可以将内容添加到rpath中,至少是因为它取决于。