cob*_*e24 9 windows static-libraries visual-c++
我怎么能告诉一个.lib文件是一个静态库vs一个DLL的导入库?有没有可以做到这一点的工具或命令?
第二个问题是我如何检查静态库的依赖关系,我的意思是我怎么知道这个静态库中包含哪些DLL?
感谢您的帮助.
最好的祝福,
只给定一个wtf.lib文件,问题是判断这个库文件是静态库还是导入库。我当前执行此操作的方法是(通过 DOS 提示符和Cygwin Bash shell的组合)。
在 DOS 提示符下,需要正确运行dumpbin.exe:
dumpbin -all wtf.lib > wtf.lib.txt
然后,在 Cygwin shell 中:
grep 'Archive member name' wtf.lib.txt
如果输出grep
输出一个 DLL 文件名,那么它wtf.lib
就是一个导入库。否则,它是一个独立的静态库。
导入库将为您的程序添加DLL依赖项.如果您没有DLL,您的程序将无法启动.(您可以使用Dependency Walker获取程序的DLL名称依赖).
Afaik静态库没有依赖项.它们链接到程序中,只有链接器错误会告诉您该特定库是否依赖于另一个库.(至少在GCC中,我不知道想要的是MS工具的行为.)