发现Mac OS上的动态库依赖关系Linux的

时间:2009-06-29 08:44:48

标签: windows linux macos dependencies

在Windows上,有一个工具Depends.exe来发现EXE / DLL文件对其他DDL的依赖性。哪个命令行工具在Mac OS和Linux上是等效的?

4 个答案:

答案 0 :(得分:99)

  • Mac OS X:otool -L file
  • Linux:ldd file

如果这些命令无法提供您想要的功能,则在Mac OS X上,您可以使用otool -l 文件转储所有加载命令。在Linux上,您可以使用readelf -d 文件转储动态部分的全部内容。

答案 1 :(得分:9)

您还可以尝试MacDependency(http://macdependency.googlecode.com),它在MacOS X上为otool提供UI替换。它还显示完整的依赖树和导出的符号。

答案 2 :(得分:6)

在终端尝试ldd。这将为您提供二进制文件所需的动态库列表。

答案 3 :(得分:0)

您可以将类似以下内容的内容放入您的bashrc中,以便始终可以使用“ ldd”作为界面,但是如果计算机为mac,它将重定向与macos等效的一个。

# Macos equivalent of ldd
if [[ "$OSTYPE" =~ "darwin"* ]]
then
  alias ldd="otool -L"
fi