1.存在未解析的标识符
将build文件夹删掉重新编译。
2.左侧项目目录栏无法删除已添加项目
打开目标项目上一级的pro文件,将目标文件名字注释或者删除掉,最后保存,qt就会自动更新,将该项目隐藏掉。
3.在qt creator下添加槽函数出现no documents matching “ui_xxx.h”,不能添加信号和槽
文件名大小写不一致
4.未找到xxx.obj
出现该问题原因是调用了一个只声明没实现的函数(头文件声明了,源文件没实现)
5.指针值为0xfeeefeee
OXFeeeFeee指针的含义_0xfeeefeee-CSDN博客
此值的含义为: 此指针指向的位置已经被释放了, 但释放后,又错误的重新调用了这个无效指针。
0xfeeefeee的含义为: 指针指向的空间已经被DELETE释放掉,但程序在未给该指针重新赋值前,又错误的调用了这个无效的指针
内存中常见异常值的解释(0xcccccccc 0xcdcdcdcd 0xfeeefeee等)_0xfeeefeee是什么-CSDN博客
6.发送一次信号,槽函数多次触发
QT发射一次信号,槽函数执行了多次的背后思考-CSDN博客
槽函数会被执行多次的问题原因及解决方法_为什么槽函数不能显示多次定义-CSDN博客
1 √Qt::UniqueConnection
目前使用的解决方法是,再绑定信号槽的时候,connect添加第五个参数Qt::UniqueConnection(表示如果该信号以前没连接过,则连接它,返回true,如果以前连接过,则不再连接,返回false)
注意**:该参数对匿名函数形式的连接****无效**
connect(dynamic_cast<DeviceMainView*>(w),&DeviceMainView::sigShowDeviceToLeft,this,[=](){
emit sigShowDevicesToLeft();
SCDebug<<"fff3";
},Qt::UniqueConnection);
2.disconnect
1 × 在每次connert前先disconnect一次(还是会多次触发)
//1 √ 参数限制 防止槽函数被多次触发
//connect(this,&NewDeviceSettingWidget::sigNavButtonMenuAction,dynamic_cast<DeviceMainView*>(w),&DeviceMainView::slotNavButtonMenuAction,Qt::UniqueConnection);
//2 × disconnect 先断开连接 再重新连接 ?还是会多次触发
QMetaObject::Connection connectHandler = connect(this,&NewDeviceSettingWidget::sigNavButtonMenuAction,dynamic_cast<DeviceMainView*>(w),&DeviceMainView::slotNavButtonMenuAction);
disconnect(connectHandler);
connect(this,&NewDeviceSettingWidget::sigNavButtonMenuAction,dynamic_cast<DeviceMainView*>(w),&DeviceMainView::slotNavButtonMenuAction);
2 ?每次绑定的环境失效前,执行disconnect()函数
每次绑定的环境失效前(如在一个对话框中被绑定,该对话框被关闭则视为失效),执行disconnect()函数,将该绑定解除。
思考:
对话框被关闭,意味着将会调用void Widget::closeEvent(QCloseEvent *event)函数,那么可以在此函数中判断,关闭窗口时,发送信号给connect所在类,然后执行disconnect函数,解除连接关系。
7.debug模式下,运行点击程序会跳到不相干的地方,一直停在此处
原因:历史断点(之前打的断点)问题
解决:删掉所有历史断点就可以了
8 debug 运行 提示ui_xxx.h 不存在
前提删过相关文件 以为重构编译可以重新生成 自定义了路径
解决:整个文件夹删掉 重构(之前只清空了文件夹,文件夹没有删掉)
9 fatal error LNK1201:写入程序数据库“***.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够…
重新构建时,程序正在运行,关掉程序
10 ? Cannot write file .pri: 另一个程序正在使用此文件,进程无法访问。【 右键添加已存在文件】
11 q
【填坑】解决“要继续此操作,至少需要一个有效且已启用的储存库”问题_要继续此操作,至少需要一个有效且已启用的储存库-CSDN博客
维护QT添加或移除组件_此操作至少需要一个处于启用状态的有效资料档案库-CSDN博客
12 类名变紫色 应该为红色 相关报错
原因:前两行宏中间有空格导致
13 【Debug】LINK : fatal error LNK1104: 无法打开文件“XXX.dll”
重新debug一次就好了
14 【构建】dependent “*.ui” does not exist.
qt构建错误: dependent “*.h” does not exist. - 我来乔23 - 博客园 (cnblogs.com)
原因:之前添加了该文件后又删除,可能项目文件没有更新,查看所在pro文件后发现没有删除该文件的声明
尝试了重新清除、qmake、构建 还是不可以
解决:pro文件相关代码删除后再编译就可以了。
15 无法解析的外部符号
原因
所在pro里没有添加对应的依赖库
解决
加上对应的依赖库
16 【warning】allocating an unneeded temporary container [clazy-container-anti-pattern] 分配不需要的临时容器
[How to fix foreach warning: allocating an unneeded temporary container -Wclazy-container-anti-pattern
原因
解决