c静态链接到lib并仍然请求DLL
使用visual studio 2008,我有一个.H和一个库的.LIB文件。 我编写了一个程序并通过项目属性修改了LIB。 它编译得很好,但是当它运行时,它要求安装DLL。 如果DLL与EXE在同一个目录中它可以工作……但是,如果我有LIB,是不是已经意味着这些函数与我的程序静态链接?
谢谢
并非所有lib
文件都是静态库。 有些是导入库,很有可能,这就是你所链接的。
如果您的lib
文件比相应的dll
文件小得多,那么这肯定表明它是一个导入库。
让程序使用DLL需要导入库。 它是一个扩展名为.lib的文件,就像静态.lib一样。 但它非常小,它只包含DLL导出的函数列表。 链接器需要这个,所以它可以在导入表中嵌入DLL的名称。 您可以通过在.exe上运行Dumpbin.exe / imports来自行查看