希望这不是重复的(我发现了很多类似的问题,但不完全是我要问的问题)。
\n\n当我运行时在linux上ldd <path/to/executable>,我会得到一个很好的共享库依赖项列表,以及动态链接器找到这些依赖项的路径(或者一条未找到依赖项的消息)。
在mac上使用时otool -L <path/to/executable>我得到依赖项,并且路径是相对于 rpath 的,即使依赖项不存在。本质上,它报告依赖关系应该相对于 rpath 的位置,而不是动态链接器发现的位置。据我了解,otool 直接从二进制文件中读取此信息,而不是像 ldd 那样调用链接器。
我知道我可以通过将 DYLD_PRINT_LIBRARIES 变量设置为 1 来运行可执行文件来获取这些路径,但这对于动态库不起作用,甚至对于可执行文件也不方便。
\n\n所以我的问题是,我可以在 mac 中获得与 ldd 完全相同的行为吗?
\n\no工具信息:
\n\n\xe2\x9e\x9c otool --version\nllvm-otool(1): Apple Inc. version cctools-906\nApple LLVM version 9.1.0 (clang-902.0.39.1)\n Optimized build.\n Default target: x86_64-apple-darwin17.5.0\n Host CPU: ivybridge\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
457 次 |
| 最近记录: |