qt creator报“找不到mingw32-make.exe”错误,根源通常是kit与path中mingw版本不匹配或路径顺序冲突,需在“工具→选项→构建和运行→kits”中确认编译器路径与所选kit(如desktop qt 5.15.2 mingw 64-bit)严格对应,并将qt自带mingw的bin目录置顶于path。

Qt Creator 报环境变量相关错误,绝大多数情况不是“没配”,而是配得太随意、顺序不对、路径冲突或覆盖不全。直接看怎么修。
找不到 mingw32-make.exe 或 g++.exe
这是 Windows 下最常卡住新手的第一关,报错类似“无法启动进程 mingw32-make.exe”。
- 错误根源往往不是 PATH 没加,而是 Qt Creator 用的 Kit 和你 PATH 里的工具不匹配
- 比如你 PATH 里加了
C:\mingw64\bin,但 Kit 选的是Desktop Qt 5.15.2 MSVC2019 64-bit——它根本不用 make,要用nmake或jom - 反过来,Kit 选了 MinGW,但 PATH 里混进了 Anaconda 的
mingw-w64路径,会导致g++版本错乱,链接失败
实操建议:
Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。
- 在 Qt Creator 中打开「工具 → 选项 → 构建和运行 → Kits」,确认当前 Kit 的「编译器」和「构建套件」是否成对匹配
- 检查「编译器」页签里,
g++路径是否指向你实际安装的 MinGW(比如C:\Qt\5.15.2\mingw81_64\bin\g++.exe),而不是随便一个 bin 目录 - 如果用了多个 MinGW(比如 Qt 自带的 + 手动装的),把 Qt 自带的 bin 路径放在系统 PATH 最前面,避免被其他版本干扰
Could not find the Qt platform plugin "xxx"
典型报错:启动程序时弹窗提示找不到 windows、eglfs、linuxfb 等插件。
- 这不是库没拷过去,是 Qt 根本没去对地方找
- Qt 默认在
QT_PLUGIN_PATH指向的目录下找platforms/子目录;如果没设,就 fallback 到可执行文件同级的plugins/platforms/ - 常见坑:你把
qwindows.dll放到了 exe 同级目录,但它实际需要放在plugins/platforms/qwindows.dll(即必须有 plugins/platforms 这两级子目录)
实操建议:
- 先确认插件真实位置:在 Qt 安装目录下找
plugins/platforms/,比如C:\Qt\5.15.2\mingw81_64\plugins\platforms\qwindows.dll - 部署时用
windeployqt自动生成目录结构,别手动复制单个 DLL - 如果要硬编码路径,设置环境变量:
QT_QPA_PLATFORM(值为windows或eglfs)+QT_PLUGIN_PATH(值为插件所在父目录,比如C:\myapp\plugins,不是platforms目录本身)
临时文件路径含中文导致编译失败
报错形如:Error: cannot open C:\Users\王XX\AppData\Local\Temp\main.obj.xxx for write- Qt(尤其 qmake/jom)和部分 MinGW 工具链对中文路径处理不稳定,不是所有环节都支持 UTF-8
- 即使你的项目路径是英文,只要系统 TEMP/TMP 指向含中文用户名的目录,就可能崩
实操建议:
- 新建纯英文路径作临时目录,比如
C:\Temp - 修改用户环境变量:把
TEMP和TMP都设为C:\Temp - 重启 Qt Creator(仅重启项目或重载 Kit 不生效,必须整个进程重启)
无法定位程序输入点 或 缺少 QtXXX.dll
双击 exe 闪退,错误框提示“找不到入口”或缺 Qt5Core.dll 等。
- 多半是 PATH 里混了不同 Qt 版本或不同编译器的 bin 目录,导致加载了错版 DLL
- 比如 PATH 里先有
C:\Qt\6.5.3\msvc2019_64\bin,后有C:\Qt\5.15.2\mingw81_64\bin,而你的 exe 是 Qt 5.15 编译的,却优先加载了 Qt 6 的 DLL,符号不兼容
实操建议:
- 运行前临时清空 PATH,只保留你当前项目对应的 Qt bin 路径(可用批处理临时设置)
- 更稳妥的做法:不依赖 PATH,用
windeployqt把所有依赖 DLL 拷到 exe 同级或plugins/子目录下,然后删掉 PATH 里所有 Qt 相关路径 - 检查 DLL 依赖:用
Dependency Walker或ntldd(MSYS2)查看 exe 实际加载了哪些 DLL,确认版本和路径
环境变量问题从来不是“设了就行”,而是“谁先被找到、谁不打架、谁真正生效”。路径顺序、Kit 匹配、插件层级、临时目录编码——每个环节都可能断链。动手前,先用 echo %PATH% 或 printenv 看一眼当前上下文到底加载了什么。










