MFC项目,VC++6.0,一顿操作之后,项目build报错了:

StartCheck.obj: error LNK2001: unresolved external symbol "public: virtual __thiscall  CStartCheckDlg

网上转了一圈,没有找到合适的答案。回过头,换个思路,观察提示,说是 StartCheck.obj这个文件有问题,并且找不到“CStartCheckDlg”这个外部引用(本项目中StartCheckDlg是单独的窗体,也有对应的cpp文件)。

于是进入Release目录,发现确实只有StartCheck.obj,而没有StartCheckDlg.obj, 回想起来,是刚才一顿操作的过程中被删掉了。

VC++6.0 文件缺失导致的 LNK2001: unresolved external symbol "public: virtual __thiscall  CStartCheckDlg_VC  教程VC++6.0 文件缺失导致的 LNK2001: unresolved external symbol "public: virtual __thiscall  CStartCheckDlg_VC  教程_02

于是从回收站把StartCheckDlg.cpp等几个文件找回来,并在VC6.0中添加进来,并点击“组建”。

VC++6.0 文件缺失导致的 LNK2001: unresolved external symbol "public: virtual __thiscall  CStartCheckDlg_VC  教程_03

再次build,问题解决。

本次问题的原因,并非是link、编译或配置之类的原因,而是简单的文件缺失问题。