Windows 发现Mac OS上的动态库依赖性&;Linux

Windows 发现Mac OS上的动态库依赖性&;Linux,windows,linux,macos,dependencies,Windows,Linux,Macos,Dependencies,在Windows上,有一个工具Depends.exe来发现exe/DLL文件对其他DDL的依赖关系。在Mac OS和Linux上,哪个命令行工具是等效的?在终端中尝试ldd。这将为您提供二进制所需的动态库列表。 Mac OS X:otool-L文件 Linux:ldd文件 如果这些命令不能提供您想要的,那么在Mac OS X上,您可以使用otool-l文件转储所有加载命令。在Linux上,您可以使用readelf-d文件转储动态部分的全部内容。您也可以尝试MacDependency()它为Ma

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

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

  • Mac OS X:
    otool
    -L
    文件
  • Linux:
    ldd
    文件

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

您也可以尝试MacDependency()它为MacOS X上的otool提供了一个UI替换。它显示了完整的依赖关系树和导出的符号。

您可以在bashrc中添加类似于以下内容的内容,以便始终使用“ldd”作为接口,但如果机器是mac,它将重定向MacOS等效的一个

相当于ldd的Macos 如果[[“$OSTYPE”=~“darwin”*]] 然后 别名ldd=“otool-L” fi
感谢您的及时回复!它非常简单:ldd/path/to/executable_或_dylib,详细版本:ldd-v/path/to/executable_或_dylibIt非常适合于可执行文件。当我在Ubuntu 9.04中运行ldd aDynamicLib.so时,它说:“不是动态可执行文件”。如何发现.so文件的依赖关系?提前谢谢你!静态库呢?我尝试了
otool-L
,但只列出了一组用于构建库的.o文件。@user3055655:链接时会创建动态库依赖项。因为静态存档库尚未链接,所以它不会有任何动态库依赖项。