MinGW是Qt安装包自带的编译器套件,需在Qt Online Installer中勾选与Qt版本匹配的MinGW子项(如Qt 6.2.2 + MinGW 11.2.0 64-bit),而非单独安装;Qt Creator本身不含编译器,必须手动配置编译器路径、qmake路径及Kit关联,否则报“no compiler found”或ABI不匹配错误。

MinGW 不是 Qt Creator 安装时单独选的组件,而是 Qt 安装包里自带的编译器套件——Qt Creator 本身不带编译器,它依赖 Qt 安装过程中的 MinGW 组件。
你真正要做的,是在 Qt 官方在线安装器(Qt Online Installer)里勾选对应版本的 MinGW 工具链,而不是在 Qt Creator 安装界面找选项。
Qt 安装器里怎么选对 MinGW 版本?
启动 Qt Online Installer 后,在组件选择页面会看到类似这样的层级结构:
-
Qt→Qt 6.2.2(或你选的版本)→ 展开后出现MinGW 11.2.0 64-bit、MinGW 8.1.0 64-bit等条目 -
Tools→MinGW→ 这里是独立工具集(可选,但通常不需要单独勾选)
关键点:
- 必须勾选和你 Qt 版本匹配的
MinGW xxx-bit条目(比如Qt 6.2.2+MinGW 11.2.0 64-bit),否则 Qt Creator 启动后会报“no compiler found” - 不要只勾
Qt Creator而漏掉MinGW子项——Qt Creator 安装包里根本不含编译器,它只是个 IDE - 32/64 位必须和 Qt 版本一致:选了
Qt 6.2.2 MinGW 64-bit,就不能用MinGW 32-bit编译器去配这个 Qt 版本
安装完发现 Qt Creator 没自动识别 MinGW 怎么办?
常见于以下情况:安装路径含中文/空格、杀毒软件拦截写入注册表、或安装时跳过了 MinGW 组件。
手动补救步骤:
- 确认 MinGW 实际安装路径,典型位置是:
C:\Qt\Tools\mingw1120_64(版本号可能不同) - 打开 Qt Creator →
工具→选项→构建和运行→编译器页签 → 点添加→MinGW - 在
编译器路径中填入:C:\Qt\Tools\mingw1120_64\bin\g++.exe(注意不是gcc.exe,Qt Creator 认的是g++.exe) - 保存后切到
Qt 版本页签,确保已添加对应 qmake 路径:C:\Qt\6.2.2\mingw_64\bin\qmake.exe - 最后在
Kits页签里,新建或编辑套件,把刚配好的编译器和 Qt 版本关联起来
为什么选错 MinGW 会导致 qmake 报错或项目无法构建?
根本原因是 ABI 不匹配。Qt 的每个二进制发布版都绑定特定 MinGW 版本的 ABI(比如 x86_64-windows-msvc2019 和 x86_64-windows-gnu 是两套完全不兼容的二进制接口)。
典型错误现象:
- 创建项目后点击构建,报错:
error: cannot find -lqt6core或undefined reference to `QApplication::QApplication(int&, char**) - 运行
qmake -v显示 MinGW 版本与 Qt 构建时用的不一致 - Kits 页面显示黄色感叹号,提示 “Debugger not found” 或 “No valid mkspec”
这说明你虽然装了 MinGW,但它和当前 Qt 版本不是同一套构建链——不能混用 mingw1120_64 的 Qt 和 mingw81_64 的编译器。
MinGW 调试器(GDB)要单独配吗?
Qt 6.2.2+ 自带的 MinGW 套件已包含 gdb.exe,路径通常是:C:\Qt\Tools\mingw1120_64\bin\gdb.exe
但要注意:
- Qt Creator 默认不会自动注册 GDB,需手动在
构建和运行 → 调试器中添加该路径 - 某些 Windows 安全策略会阻止 GDB 加载符号,表现为断点灰色不可用;此时可尝试以管理员身份运行 Qt Creator
- 如果调试时提示
gdb exited unexpectedly,大概率是 GDB 和 Qt 的架构位数不一致(比如用了 32 位 GDB 调试 64 位程序)
真正容易被忽略的是:Kit 配置里“调试器”下拉框必须手动选中你添加的那个 GDB,而不仅仅是“自动检测”。自动检测常失败,且不报错,只默默用不了调试功能。


















