Qt Creator怎么清理和重新构建项目?

云枫君_5397

云枫君_5397

2026-08-09

435人浏览

原创

必须先执行“清理所有项目”删除旧moc/ui文件,再手动运行qmake更新构建配置,最后执行“重新构建”强制全量编译,三步缺一不可;同时需确保.ui文件已保存且构建套件匹配。

qt creator怎么清理和重新构建项目?

改完 UI 或代码后报“找不到槽函数”或“moc_文件里还有旧名字”,直接清理 + 重新构建就能解决,但顺序和细节不对会白忙活。

清理项目必须先删 moc 文件

Qt 的 moc(Meta-Object Compiler)会把 ui 文件和 Q_OBJECT 类的信号槽声明转成 C++ 代码,生成像 moc_mainwindow.cpp 这样的文件。这些文件不会自动更新——哪怕你把按钮的 objectNamepushButton_5 改成 btn_submit,旧的 moc 文件还在用老名字,编译时就报错。

  • 必须执行“清理所有项目”(Clean All),不是只点“构建”或“运行”
  • 快捷键是 Ctrl + Shift + B(Windows/Linux)或 Cmd + Shift + B(macOS)
  • 清理后检查构建目录(比如 build-MyApp-Desktop_Qt_6_7_0_MinGW_64_bit-Debug),确认里面没有 moc_*.cppui_*.h 文件残留

qmake 必须在重新构建前手动触发

清理完只是清掉了中间文件,但 Qt 的构建系统(尤其是 qmake 项目)不会自动重跑 qmake。如果 .pro 文件没变、.ui 却改了 objectName,或者头文件加了新槽函数,不重跑 qmake 就直接构建,它还是会按旧规则生成 Makefile,导致 moc 步骤跳过或出错。

C++
C++

"空空如也"

下载
  • 顶部菜单:构建 → 执行 qmake(qmake 项目)或“重新配置 CMake”(CMake 项目)
  • Qt 6 + CMake 项目容易忽略这步,误以为“清理+构建”就够了
  • 如果项目用了影子构建(Shadow Build),确保 qmake 步骤的目标路径和当前构建目录一致,否则生成的 Makefile 不会被后续 make 读到

重新构建 ≠ 构建 + 运行

很多人点“构建”(Build)以为万事大吉,其实这是增量编译——只编译改过的 .cpp,不碰 moc 和 ui 头文件。真正需要的是“重新构建”(Rebuild All),它强制全量编译,包括重新调用 moc 和 uic。

  • 快捷键:Ctrl + Shift + R(Windows/Linux)或 Cmd + Shift + R(macOS)
  • 注意:不要在没清理、没 run qmake 的情况下直接点“重新构建”,它会复用旧的 moc 文件,错误照旧
  • 如果用了子项目(SUBDIRS),要确保主项目设置了 CONFIG += ordered,否则依赖顺序错乱,库还没编译完就去编译 GUI 项目,也会报符号未定义

最容易被忽略的是:改完 .ui 文件里的 objectName 后,不保存(Ctrl + S)就去清理构建,Qt Designer 实际没把变更写入 XML;或者清理时选错了构建套件(Kit),结果清的是 Debug 目录,却在 Release 模式下构建——这两处一漏,前面所有步骤都白做。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
视频后缀名都有哪些
视频后缀名都有哪些

视频后缀名都有avi、mpg、mpeg、rm、rmvb、flv、wmv、mov、mkv、ASF、M1V、M2V、MPE、QT、VOB、RA、RMJ、RMS、RAM、等等。更多关于视频后缀名的相关知识,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

2023.10.31

9445

17

C++ Qt图形开发
C++ Qt图形开发

本专题专注于 C++ Qt框架在图形界面开发中的应用,系统讲解窗口设计、信号与槽机制、界面布局、事件处理、数据库连接与跨平台打包等核心技能,通过多个桌面应用项目实战,帮助学员快速掌握 Qt 框架并独立完成跨平台GUI软件的开发。

2025.08.15

3462

7

C++ 图形界面开发基础(Qt方向)
C++ 图形界面开发基础(Qt方向)

本专题系统讲解 使用 C++ 与 Qt 进行图形界面(GUI)开发的核心技能,内容涵盖 Qt 项目结构、窗口组件、信号与槽机制、事件处理、布局管理、资源管理,以及跨平台编译与打包流程。通过多个小型桌面应用实战案例,帮助学习者掌握从界面设计到功能实现的完整 GUI 开发能力。

2025.12.05

1321

15

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

180

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

60

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

80

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

60

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Qt入门课堂 - Qt Quick Controls
Qt入门课堂 - Qt Quick Controls

共0课时 | 0人学习

Qt Creator 调试文档
Qt Creator 调试文档

共0课时 | 0人学习

Qt Creator 项目创建文档
Qt Creator 项目创建文档

共0课时 | 0人学习