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