qt creator能运行而exe双击闪退,根本原因是环境变量未配置:qt creator自动注入path指向bin目录,但系统双击不继承该路径;需用windeployqt一键部署qt核心dll、platforms/qwindows.dll及对应编译器运行时(如vcruntime140.dll或libgcc_s_dw2-1.dll)。

直接双击生成的 your_app.exe 闪退或报“找不到DLL”,不是程序写错了,而是环境没配对——绝大多数问题都出在编译器、Qt版本、插件路径三者不匹配上。
为什么 Qt Creator 能跑,但 exe 单独运行就失败
Qt Creator 启动时会自动注入环境变量(比如 PATH 指向 Qt 的 bin 目录),但系统双击 exe 时完全不认这套逻辑。典型表现是:
- 报错
The code execution cannot proceed because Qt5Core.dll was not found - 窗口一闪而过,命令行运行提示
Failed to load platform plugin "windows" - 用 Dependency Walker 查看,发现缺
qwindows.dll或libgcc_s_dw2-1.dll
根本原因:exe 运行时依赖三类文件,缺一不可:
- Qt 核心 DLL(
Qt5Core.dll、Qt5Gui.dll等) - 平台插件(Windows 下必须有
plugins/platforms/qwindows.dll,且路径要相对于 exe) - 编译器运行时(MinGW 需
libgcc_s_dw2-1.dll和libstdc++-6.dll;MSVC 需vcruntime140.dll等)
推荐做法:用 Qt 自带的 windeployqt 工具一键补全,而不是手动拷贝或改系统 PATH。
Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。
MSVC 环境下 CMake 报 “C++ compiler is not able to compile a simple test program”
这不是编译器坏了,是 VS 的环境变量根本没加载。MSVC 的 cl.exe、link.exe、kernel32.lib 全部依赖 vcvars64.bat 初始化。
- 错误现象:Qt Creator 构建时卡在 CMake 配置阶段,或报
LINK : fatal error LNK1181: cannot open input file 'kernel32.lib' - 验证方法:打开普通 CMD,直接输
cl—— 如果提示“不是内部或外部命令”,说明环境没加载 - 正确做法:先在 CMD 中执行
"D:\dev\VS2022\VC\Auxiliary\Build\vcvars64.bat",再运行cmake命令 - Qt Creator 中对应操作:Kit 设置里勾选 “Run environment setup script”,填入该
vcvars64.bat路径
别用 Ninja 生成器配 MSVC——它对 Windows 短路径和环境转发支持差,换 Visual Studio 17 2022 生成器更稳。
Qt Creator 显示红色感叹号,Kit 无法识别已安装的 Qt 版本
常见于装了多个 Qt 版本(比如 5.15.2 MinGW + 6.8.3 MSVC)后,Qt Creator 找不到 qmake 或误判编译器类型。
- 检查
qmake -v输出的 Qt 版本是否和你安装的匹配,特别注意末尾括号里的编译器标识(MSVC 2022vsMinGW 11.2.0) - Qt Creator 的 Kit 必须严格匹配:
qmake路径、编译器(GCC/Clang/MSVC)、调试器(gdb/cdb/lldb)三者 ABI 一致 - MinGW 版的 Qt Creator 默认只认 MinGW 编译器;若想用 MSVC 编译,必须单独安装 MSVC 版 Qt,不能混用
- 删掉
%APPDATA%\QtProject\qtcreator\profiles.xml可重置 Kit 缓存(备份后再删)
最易忽略的一点:Qt 安装时若没勾选对应编译器组件(比如装 Qt 6.8.3 时漏选 msvc2022_64),qmake 就不会出现在 bin 目录里,Kit 自然识别不了。










