error LNK2019: 无法解析的外部符号及fatal error LNK1104: 无法打开文件“XXX".lib“

error LNK2019: 无法解析的外部符号

fatal error LNK1104: 无法打开文件“XXX".lib“

error LNK2019: 无法解析的外部符号这个错之前见过很多次,能知道最根本的原因在于链接过程中没有搜索到程序用到的库文件,即*.lib

本质上要检查以下几点:

一、确保依赖项及生成顺序

error LNK2019: 无法解析的外部符号及fatal error LNK1104: 无法打开文件“XXXerror LNK2019: 无法解析的外部符号及fatal error LNK1104: 无法打开文件“XXX

二、确保库使用的头文件

要使用库的项目中要有包含使用的库相关代码的头文件
头文件中使用要确保,在库中要预定义DLLCLASS_EXPORTS,而使用库的项目中包含的头文件中不预定义该定义:

#ifdef DLLCLASS_EXPORTS
   #define EXT_CLASS _declspec(dllexport)
#else
   #define EXT_CLASS _declspec(dllimport)
#endif

error LNK2019: 无法解析的外部符号及fatal error LNK1104: 无法打开文件“XXX

三、附加依赖库 及 附加依赖项:填写附加依赖库的名字.lib

error LNK2019: 无法解析的外部符号及fatal error LNK1104: 无法打开文件“XXXerror LNK2019: 无法解析的外部符号及fatal error LNK1104: 无法打开文件“XXX

四、确保动态库及其lib的位置,我这里是和使用库的客户端.exe放在一起

error LNK2019: 无法解析的外部符号及fatal error LNK1104: 无法打开文件“XXX

你可能感兴趣的:(C++,MFC,Visual,Studio)