Qt Creator安装需手动勾选编译器、Qt版本及工具链组件,正确配置Kit(编译器+Qt版本+调试器),确保勾选Qt Widgets等必要模块,项目路径须为纯英文,windeployqt依赖环境纯净。

Qt Creator 安装时选错组件会导致 qmake 找不到或 mingw/msvc 工具链不完整
安装 Qt 时不能只点「Next」一路到底。默认勾选的组件往往只含基础模块,缺少编译器支持和调试工具。Qt Creator 本身是 IDE,但真正编译项目靠的是外部工具链(如 MinGW 或 MSVC),而这些必须在 Qt Online Installer 中显式勾选。
实操建议:
- 下载官方
Qt Online Installer(不是离线版,它更新及时且组件可选) - 安装过程中展开
Qt版本节点,务必勾选对应平台的预编译套件,例如:Desktop gcc 64-bit(Linux/macOS)、MinGW 11.2 64-bit(Windows)、MSVC2019 64-bit(需先装 Visual Studio) - 同时勾选
Qt Creator(最新稳定版即可,不必用预览版)和Developer and Designer Tools(含Qt Designer、qmake、windeployqt等) - 安装路径避免中文、空格、长路径(如
C:\Qt最稳妥)
启动 Qt Creator 后提示 “No valid kits found” 是 Kit 配置没对上
Kit 是 Qt Creator 里把编译器、Qt 版本、调试器三者绑定的抽象配置。即使装了 MinGW 和 Qt,若 Kit 未识别或手动配错,新建项目会直接失败。
常见错误现象:
立即学习“C++免费学习笔记(深入)”;
- Kit 列表为空,或显示
Unconfigured - 选择 Kit 后构建按钮灰色,或报错
Could not determine which CMake generator to use(误用了 CMake 模板却没配 CMake 工具) - 运行时提示
The program has unexpectedly finished,其实是调试器没连上
实操建议:
- 进
Tools → Options → Kits,检查Compilers标签页是否识别出已安装的g++(MinGW)或cl.exe(MSVC);没识别就手动添加路径,如C:\Qt\Tools\mingw112_64\bin\g++.exe - 在
Qt Versions标签页确认qmake路径正确,比如C:\Qt\6.5.3\mingw_64\bin\qmake.exe;若为空,点击「Add」并定位到对应bin目录下的qmake.exe - 回到
Kits标签页,新建或编辑一个 Kit:名称自定,Compiler选刚配好的,Qt version选刚加的,Debugger若 Windows 下用 MinGW 就选gdb(路径一般在同级mingw112_64\bin\gdb.exe)
新建项目后 qmake 报错 “Project ERROR: Unknown module(s) in QT: widgets”
这是 .pro 文件里写了 QT += widgets,但当前 Qt 版本没编译 widgets 模块——常见于安装时漏选 Qt Widgets 组件,或误用了 Qt for WebAssembly 等精简版。
使用场景:
- 用
QMainWindow、QPushButton等传统桌面控件时必须有widgets模块 - Qt 6 默认拆分模块,
core和gui是基础,widgets是独立可选模块
实操建议:
- 检查安装时是否勾选了
Qt Widgets(在 Qt 版本节点下,和Core、Gui并列);没勾选就重装或用 MaintenanceTool 补装 - 确认
.pro文件中QT += core gui widgets写全,Qt 6 不再默认包含widgets - 如果用的是 Qt 6.5+ 的
cmake项目模板,别混用qmake语法;此时应删掉.pro,改用CMakeLists.txt声明find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
中文路径或环境变量冲突会让 windeployqt 失效或生成空白 release 目录
windeployqt 是发布 Windows 应用的关键工具,但它极度依赖路径干净、编码一致、权限正常。一旦项目路径含中文、空格,或系统 PATH 里混入旧版 Qt 工具,就可能静默失败。
性能与兼容性影响:
- 路径含中文 →
windeployqt解析.dll依赖时报Invalid argument,不报错但不拷贝任何文件 - PATH 中存在多个
qmake或windeployqt→ 实际调用版本错乱,Qt 6 项目用 Qt 5 的windeployqt会漏拷Qt6Widgets.dll - 以普通用户权限运行 Qt Creator → 无法写入
Program Files类路径,导致部署中断
实操建议:
- 项目根目录用纯英文短路径,如
D:\dev\myapp,避开 OneDrive、桌面等同步目录 - 构建前,在 Qt Creator 的
Projects → Build Settings → Build Environment中点击「Details」→「Clean»,再手动删掉所有 Qt 相关条目,仅保留系统必要 PATH - 发布时右键项目 →
Deploy Project,或命令行进入build-xxx-Desktop_Qt_6_5_3_MinGW_64_bit-Release\release目录,运行:..\..\Qt\6.5.3\mingw_64\bin\windeployqt.exe --no-translations --no-opengl-sw myapp.exe
windeployqt 这类后期工具,问题常在发布阶段才暴露,但根子早在创建第一个 Kit 时就埋下了。










