我有一个带有导入库的DLL。当我尝试引用导入库时,我收到链接器错误,导致某些函数无法解析。我认为DLL及其导入库的版本不匹配。 有没有办法检查导入库是否与其DLL完全匹配,而无需通过DumpBin手动检查大量函数?
答案 0 :(得分:1)
问题是头文件包含.lib文件中未定义的函数。很可能你有一个新的头文件和一个过时的.lib文件。
可能的解决方案:
答案 1 :(得分:0)
当你链接二进制文件时* .lib库很重要(包括导入库,但显然不包括DLL)。链接器甚至可能不知道它是导入库而不是其他一些静态库。也可以创建混合库,其中一些函数静态地贡献给* .lib文件,而其他函数则从某些DLL导入。
您的* .lib库中没有未解决的函数(包括导入库)。 如果您确实链接了您的导入库并且确定您的DLL导出了未解析的函数,那么您的导入库不匹配或者已生成不导出该函数(例如,函数可能未列在DLL项目的* .def文件中)。