【发布时间】:2013-05-25 11:35:10
【问题描述】:
我很难理解文件中 @loader_path 所指的绝对路径。
user@local:~$ otool -L zlib.so
zlib.so:
@loader_path/../../libz.1.dylib (compatibility version 1.0.0, current version 1.2.7)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
我想知道系统在哪里寻找 libz.1.dylib。
@loader_path/ 此变量被替换为包含 mach-o 二进制文件的目录的路径,其中包含使用 @loader_path 的加载命令。因此,在每个二进制文件中,@loader_path 都会解析为不同的路径
我猜这意味着@loader_path 只是目标文件 (zlib.so) 的路径,但这似乎不是真的。
是否有任何命令行实用程序可以将@loader_path 解析为尝试打开库时使用的实际路径?
【问题讨论】:
标签: macos shared-libraries mach-o dyld otool