QT程序部署Windows报错0xc00007b求助(已复制DLL)
检查32/64位兼容性
确认编译程序的Qt版本(你使用的mingw_64对应64位)与部署的Windows系统位数一致,禁止混合使用32位和64位DLL文件。确保复制到程序目录的所有DLL都来自Qt6.2.4的mingw_64/bin或对应插件目录,无跨位数混用情况。补充MinGW核心运行库
MinGW编译的程序依赖三个核心运行库,需将Qt安装目录下C:\Qt\Qt6.2.4\6.2.4\mingw_64\bin中的libgcc_s_seh-1.dll、libstdc++-6.dll、libwinpthread-1.dll复制到程序exe所在目录,确保版本与编译环境完全匹配。用工具定位缺失依赖
使用Dependency Walker或Process Monitor排查具体缺失的DLL:- 打开
Dependency Walker并加载程序exe,查看红色标记的未找到文件,将对应DLL复制到程序目录; - 运行
Process Monitor,过滤程序进程名,查找启动时出现“NAME NOT FOUND”的文件记录,定位缺失的依赖库。
- 打开
优化windeployqt执行参数
执行windeployqt时添加--release参数明确部署版本,命令如下:C:\Qt\Qt6.2.4\6.2.4\mingw_64\bin>windeployqt.exe --release c:\Qt\Qt6.2.4\Examples\Qt-6.2.4\quick3d\build-principledmaterial-Desktop_Qt_6_2_4_MinGW_64_bit-Release\release\principledmaterial.exe检查执行后是否生成
qml、plugins等文件夹,Quick3D程序依赖这些目录下的QML模块和渲染插件,确保无遗漏。验证DLL完整性与版本
确认所有复制的DLL均来自Qt6.2.4的mingw_64对应目录,无损坏或版本不匹配情况。重点检查Quick3D相关DLL,如Qt6Quick3D.dll、Qt6Quick3DRuntimeRender.dll是否已被正确复制。在干净环境测试
选择未安装Qt的Windows机器进行测试,排除本地Qt环境对依赖查找的干扰,确保部署包具备独立运行能力。排查路径与权限问题
确保程序所在路径无中文、空格或特殊字符,避免路径解析错误;右键程序选择“以管理员身份运行”,排除权限限制导致的DLL加载失败。
内容的提问来源于stack exchange,提问作者chandu

