Windows 发现Mac OS上的动态库依赖性&;Linux
在Windows上,有一个工具Depends.exe来发现exe/DLL文件对其他DDL的依赖关系。在Mac OS和Linux上,哪个命令行工具是等效的?在终端中尝试ldd。这将为您提供二进制所需的动态库列表。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
- 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:链接时会创建动态库依赖项。因为静态存档库尚未链接,所以它不会有任何动态库依赖项。