如何检查LIB导入库是否与其DLL完全匹配?

时间:2011-05-11 11:03:29

标签: c++ c dynamic-linking

我有一个带有导入库的DLL。当我尝试引用导入库时,我收到链接器错误,导致某些函数无法解析。我认为DLL及其导入库的版本不匹配。 有没有办法检查导入库是否与其DLL完全匹配,而无需通过DumpBin手动检查大量函数?

2 个答案:

答案 0 :(得分:1)

问题是头文件包含.lib文件中未定义的函数。很可能你有一个新的头文件和一个过时的.lib文件。

可能的解决方案:

答案 1 :(得分:0)

当你链接二进制文件时* .lib库很重要(包括导入库,但显然不包括DLL)。链接器甚至可能不知道它是导入库而不是其他一些静态库。也可以创建混合库,其中一些函数静态地贡献给* .lib文件,而其他函数则从某些DLL导入。

您的* .lib库中没有未解决的函数(包括导入库)。 如果您确实链接了您的导入库并且确定您的DLL导出了未解析的函数,那么您的导入库不匹配或者已生成不导出该函数(例如,函数可能未列在DLL项目的* .def文件中)。