报错演示:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 "public: __thiscall ……" ,函数 _main 中引用了该符号 DataProcess
报错说明与解决:
按照网上说法,这种报错可能是因为C/C++下的预处理器定义以及链接器下的子系统的选择是控制器还是windows窗口。但我这里不是这个原因。
我这里是多个项目,如下展示其中一块:
我有个项目专门处理glog,处理完后在启动项DataProcess中定义的入口函数,如下:
#include"GlogHelp/GlogHelp.h"
int main()
{
GLogHelper Glog;
LOG(WARNING) << "warning" << endl;
LOG(INFO) << "info" << endl;
LOG(ERROR) << "error" << endl;
return 0;
}
但是如此操作就会报错。glog项目已经单独测试过,是不会有问题的。将main函数中内容注释掉,运行正常,说明不是找不到入口函数。那么只能是连接出了问题。可是我这里已经include了呀。百思不得其解。尝试将glog项目生成的.lib文件输出到我固定的Lib文件夹。同时添加链接库代码,将glog库文件与代码进行链接。同时将glog的.dll文件放到工程所在文件夹下,问题解决了。
#include"GlogHelp/GlogHelp.h"
#pragma comment(lib, "GlogHelp.lib")
int main()
{
GLogHelper Glog;
LOG(WARNING) << "warning" << endl;
LOG(INFO) << "info" << endl;
LOG(ERROR) << "error" << endl;
return 0;
}
因为是初学,此处忽略了这个细节。很多项目都是在属性-链接器-附加依赖项里添加了,而我照葫芦画瓢难以注意到这点。引以为戒,与诸位共勉。