我有一个DLL和它的导入库。当我尝试引用导入库时,我得到一些函数无法解决的链接器错误。我认为DLL和它的导入库的版本不匹配。有没有办法检查导入库是否与其动态链接库完全匹配,而无需通过DumpBin手动检查大量函数?
发布于 2011-05-11 19:29:51
问题是头文件包含.lib文件中没有定义的函数。最有可能的情况是,您有一个新的头文件和一个过时的.lib文件。
可能的解决方案:
发布于 2011-05-11 19:32:52
当您链接二进制文件时,只有*.lib库很重要(包括导入库,但显然不包括DLL)。链接器甚至可能不知道它是导入库,而不是某个其他静态库。也可以创建混合库,其中一些函数静态地贡献给*.lib文件,而其他函数则从一些DLL导入。
您的*.lib库(包括导入库)中没有未解析的函数。如果你确实链接了你的导入库,并且确信你的DLL导出了未解析的函数,那么你的导入库要么不匹配,要么被生成为不导出这些函数(例如,这些函数可能没有列在DLL项目的*.def文件中)。
https://stackoverflow.com/questions/5963176
复制相似问题