知道.lib是静态还是导入

zah*_*pov 50 c c++ windows dll

我有.lib从C代码编译的文件.我怎么知道在运行时是否需要这个自包含的静态库或者只需要一个导入的lib和DLL?有一些dumpbin选项我失踪?

bma*_*ies 65

使用lib命令.如果它是静态的,lib会在里面显示一堆.obj文件.不是这样,如果它是implib.

lib /list foo.lib
Run Code Online (Sandbox Code Playgroud)

会做的.

另见:

http://msdn.microsoft.com/en-us/library/e17b885t(v=vs.80).aspx

  • 似乎有类似的方式.用7zip打开lib文件.如果它是一个imort lib,它将包含*.dll文件.否则,它将包含*.obj文件,可能在文件夹中. (2认同)

eng*_*010 5

查看其随附的头文件,如果该函数被“修饰”为__declspec(dllimport)一个导入库。或者查找随附的 .def 文件,该文件也告诉您它是一个导入库。