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
这些问题,其实是因为VS对创建的Qt项目源码有些问题不兼容所致,这个问题是因为预编译的头文件、库不能正常工作产生的,解决方法很简单,你看看预编译内容有没有这种形式:
#include <QtWidgets/QDialog> 这种形式在VS2013上,不会再此处报错,但这些库内容的使用就会产生问题啦!
很明显,这里改成:
#include <QtWidgets>
#include <QDialog>
即两个库分开写,问题就解决啦。另外,如果你在其它情况下遇到上述错误的某一个,请看一下是不是在某个类的定义上写错了什么。
有其他问题可直接评论或Email:lnan9407@hotmail.com