1、error: multiple definition of `***::***(QWidget*)'
在项目.pro中
SOURCES += \处添加的.h和.cpp文件有重复添加,将重复的去掉就可以了
2、VS2010+QT,很多代码下面会出现红色波浪线
项目----属性----vc++目录----包含目录中加入你的include的路径:C:\此处省略。。。\msvc2010\include
PS:这个也没有解决所有的红色波浪线问题,但是已经解决了90%以上的波浪线
3、错误 1 error C2679: 二进制“=”: 没有找到接受“QTcpSocket *”类型的右操作数
错误语段:socket = new QTcpSocket();
解决:声明时QTcpSocket *socket写成了QTcpSocket socket导致错误,改回来就可以了
4、this application failed to start because it could not find or load the qt platform plugin "window".
此应用程序无法启动,因为它无法找到或加载qt平台插件“窗口”。
解决办法:将platforms文件和里面的
复制到代码中缺少的位置,
5、unused parameter 变量
解决办法:在错误位置加上,申明不要使用变量
(void)变量名;
6、error: invalid use of incomplete type 'class QCheckBox'
添加头文件:
#include<QCheckBox>
#include<QLabel>
#include<QLineEdit>
#include<QPushButton>
#include<QHBoxLayout>
7、:-1: error: cannot open output file debug\Core.exe: Permission denied
按照网上查询的是程序运行了两遍,直接在任务管理器里面将在运行的exe关闭掉,再重新运行就可以了
8、error: static assertion failed: No Q_OBJECT in the class with the signal #define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message)
解决办法:头文件中添加Q_OBJECT
9、调用别的类中函数导致野指针的问题
在B中调用A中的add函数
A *a;
a->add();//如果add里面有控件操作这样调用会出现野指针导致死机
正确做法:
A a;
&a
10、在B中写一个发送信号,在A中接收信号
这个需要放在发送信号的函数中,
connect(this,SIGNAL(add2()),a,SLOT(add()));
emit add2();
11、启动程序失败,路径或者权限错误?
起因:我出现这个问题时新建一个项目后,运行提示这个错误无法运行
原因:是我用的项目名称里面带有"update",导致exe添加了管理员权限才能运行,
解决办法:将名称修改后就可以运行了