Macos 来自otool的报告的依赖项路径不是加载程序查找依赖项的路径

Macos 来自otool的报告的依赖项路径不是加载程序查找依赖项的路径,macos,ldd,otool,Macos,Ldd,Otool,希望这不是一个重复(我发现了一堆类似的问题,但不完全是我要问的) 在linux上,当我运行ldd时,我得到了一个很好的共享库依赖项列表,路径是动态链接器找到的依赖项(或未找到依赖项的消息) 在mac上,当使用otool-L时,我会得到依赖项,并且路径是相对于rpath的,即使依赖项不存在。本质上,它是报告依赖项应该相对于rpath的位置,而不是动态链接器发现依赖项的位置。据我所知,otool直接从二进制文件中读取这些信息,而不是像ldd一样调用链接器 我知道我可以通过将DYLD_PRINT_LI

希望这不是一个重复(我发现了一堆类似的问题,但不完全是我要问的)

在linux上,当我运行
ldd
时,我得到了一个很好的共享库依赖项列表,路径是动态链接器找到的依赖项(或未找到依赖项的消息)

在mac上,当使用
otool-L
时,我会得到依赖项,并且路径是相对于rpath的,即使依赖项不存在。本质上,它是报告依赖项应该相对于rpath的位置,而不是动态链接器发现依赖项的位置。据我所知,otool直接从二进制文件中读取这些信息,而不是像ldd一样调用链接器

我知道我可以通过将DYLD_PRINT_LIBRARIES变量设置为1运行可执行文件来获得这些路径,但这对动态库不起作用,甚至对可执行文件也不方便

所以我的问题是,我能得到与mac中ldd完全相同的行为吗

耳道信息:

➜  otool --version
llvm-otool(1): Apple Inc. version cctools-906
Apple LLVM version 9.1.0 (clang-902.0.39.1)
  Optimized build.
  Default target: x86_64-apple-darwin17.5.0
  Host CPU: ivybridge