Qt 6.7.2项目在部分Windows系统无法启动问题求助
问题根源说明
你列出的大量api-ms-win-*开头的文件并非独立物理DLL,而是Windows API集,Dependency Walker会对这类API集产生误报,并非实际缺失的文件。真正导致启动失败的核心原因是:
- 目标系统缺少Qt 6.7.2依赖的VC++运行时库(如
msvcp140.dll、vcruntime140.dll等) - 新格式化系统未安装必要的Windows系统组件更新(如
dcomp.dll、dwrite.dll属于Windows 10+系统组件) - 手动复制系统DLL会引发版本不兼容问题,无法替代官方的运行时安装和系统更新
具体解决步骤
安装对应版本的VC++ Redistributable
Qt 6.7.2基于Visual Studio 2019/2022编译,必须在目标系统安装Microsoft Visual C++ Redistributable for Visual Studio 2019或2022(x86/x64需与你的项目架构匹配)。官方运行时包会自动部署所有必要的VC++相关DLL,避免版本冲突。重新使用windeployqt正确打包
确保使用对应构建模式的windeployqt工具(Release版本用Qt安装目录下bin/windeployqt.exe,Debug版本用bin/windeployqt.debug.exe),并添加--compiler-runtime参数强制打包VC运行时:windeployqt --compiler-runtime --release your_app.exe该命令会自动收集Qt依赖及所需的VC运行时文件,无需手动复制。
确保目标系统符合Qt 6最低要求
Qt 6.7.2的最低Windows版本要求是Windows 10 1809(17763),如果目标系统是更早版本(如Windows 7/8.1),Qt 6本身不支持,需降级到Qt 5或升级系统。对于符合版本要求的新格式化系统,建议安装所有可用的Windows更新,补充缺失的系统组件。避免手动复制系统DLL
系统DLL(如gdiplus.dll、mmdevapi.dll)属于Windows系统文件,手动复制会破坏系统的版本一致性,正确的做法是通过Windows更新或官方运行时包来补充。
验证流程
- 在目标新格式化系统上先安装VC++ Redistributable
- 运行重新打包后的程序
- 若仍无法启动,使用
dumpbin /dependents your_app.exe查看实际依赖,对比系统已安装组件,排查是否有遗漏的Qt模块或系统更新
内容的提问来源于stack exchange,提问作者Zeynel Emre Tay

