Qt or vs2019release文件使用windeployqt打包显示缺少libgcc_s_seh-1.dll,手动添加后又报错应用程序无法正常启动(0xc000007b)

本文详细介绍了如何解决使用Qt与VS2019编译的exe文件在不同计算机上的运行问题,包括缺失dll库、启动失败及qml应用无法打开等问题,并提供了具体的步骤与命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己在网上查了一整天,终于解决了qt&vs2019 release生成的.exe文件移植到任意电脑上运行的问题了。

编译环境

qt5.14.2 vs2019
我是把qt环境整合在vs2019上了

出现的问题

1.缺少libgcc_s_seh-1.dll库,这里需要寻找我们release对应qt的库。
在这里插入图片描述
2.添加后显示应用程序无法启动无法正常启动(0xc000007b)
3.qml应用程序点击没有报错也无法打开

查看自己的编译环境

在去解决问题前,我们需要知道自己的编译环境才能正确解决问题。
qtcreator:可以在项目配置或者编译的地方看到
在这里插入图片描述
vs2019 打开扩展->qt vs tools->qt version
在这里插入图片描述
这些是我自己的编译环境,大家根据情况,知晓自己是什么样的编译环境即可。

解决方案

把我们的.exe放在一个新的文件夹(这个大家应该都知道)。
1.在我们最开始生成文件的时候,一定要使用对应版本的qt的cmd窗口,否则生成版本不对(使用其他cmd进入文件夹也不行,我就是用mingw32位cmd进64位文件夹,exe文件最后就是运行不了),我这里就有四个:
mingw 7.3.0是qtcreator生成文件使用的
MSVC是vs2019生成文件使用的。
在这里插入图片描述
注意:一定要看清你自己文件的编译环境是哪一个,版本不对应最后生成的库就会导致exe文件打不开。更不要用win的cmd或者powershell等。

2.打开对应的cmd窗口就会在对应的编译环境文件夹下面,只要输入命令:cd bin进入bin目录即可。然后运行命令:windeployqt.exe 文件路径\项目名.exe,如果是qml文件看第三条。
在这里插入图片描述

3.如果是qml文件,看这里,命令别使用错误,需要在使用命令:
windeployqt.exe 文件路径\项目名.exe -qmldir qml路径
比如:
windeployqt.exe C:\Users\xxx\source\repos\QtQuick_IOCtrl\publish\hello.exe -qmldir C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\qml。

注意:-qmldir不能少,不然扫描不到qml文件夹,最后缺少组件,你会发现点击之后没有报错程序也没运行。

4.qtcreator生成的文件的文件夹可能会缺少libgcc_s_seh-1.dll库,添加对应qt路径下的文件,我的路径是C:\Qt\Qt5.14.2\Tools\mingw730_64\opt\bin\libgcc_s_seh-1.dll,大家自行寻找即可。
对于vs2019生成的文件,通常会缺少vs2019相关的库,建议这种情况下生成的文件在有相同vs环境的电脑上运行(因为缺的库挺多的)。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值