Error 1 error LNK2019: unresolved external symbol "public: virtual __thiscall FindDialog::~FindDialog(void)" (??1FindDialog@@UAE@XZ) referenced in function "public: virtual void * __thiscall FindDialog::`scalar deleting destructor'(unsigned int)" (??_GFindDialog@@UAEPAXI@Z) E:\MyProject\vs2013Pro\C++Pro\TForFC\QtTest\FindDialog\finddialog.obj
Error 2 error LNK1120: 1 unresolved externals E:\MyProject\vs2013Pro\C++Pro\TForFC\QtTest\Win32\Debug\\FindDialog.exe 1
刚开始学Qt,这个问题还有就是困扰了我一整天,最后发现解决方法很简单。那就是创建项目的时候选择Qt Application,输入项目名称,完成相应的VS项目创建过程后,跳出一个如下图的界面,是Qt5项目设置:
人家的预设置内容,我们点Next,仔细看一下那些选项:
刚刚好,我们用到的东西也就这三项,继续Next,重点来啦!如图:
看右上角选项的base class,这里默认的是QMainWindow,而我们的目标项目其实是QDialog(这里视开发目的的不同而异选择正确即可)。然后就解决啦!
另外,如果遇到下列问题,以后会另行记录。
Error 1 error C2514: 'QLabel' : class has no constructors E:\MyProject\vs2013Pro\C++Pro\TForFC\FindDialog\FindDialog\finddialog.cpp 7
Error 2 error C2512: 'QLineEdit' : no appropriate default constructor available E:\MyProject\vs2013Pro\C++Pro\TForFC\FindDialog\FindDialog\finddialog.cpp 8
Error 3 error C2027: use of undefined type 'QLabel' E:\MyProject\vs2013Pro\C++Pro\TForFC\FindDialog\FindDialog\finddialog.cpp 9
Error 4 error C2227: left of '->setBuddy' must point to class/struct/union/generic type E:\MyProject\vs2013Pro\C++Pro\TForFC\FindDialog\FindDialog\finddialog.cpp 9
Error 5 error C2514: 'QCheckBox' : class has no constructors E:\MyProject\vs2013Pro\C++Pro\TForFC\FindDialog\FindDialog\finddialog.cpp 11
Error 33 error C2065: 'QVBoxLayout' : undeclared identifier E:\MyProject\vs2013Pro\C++Pro\TForFC\FindDialog\FindDialog\finddialog.cpp 33
Error 58 error C2027: use of undefined type 'QPushButton' E:\MyProject\vs2013Pro\C++Pro\TForFC\FindDialog\FindDialog\finddialog.cpp 63