Qt有关打包的注意事项(c++程序以及qml程序)

1.确保在Release编译下的程序能够运行(C++或qml都要做)

切换到Release模式下后点击编译

编译后在你的qt工程中会生成一份新的文件,一般会在你的工程下的build文件夹下。

进去后在进入release文件夹下会发现有一个.exe的可执行程序。双击一下看看能否运行你的代码内容。

如果弹出找不到qt5core.dll等等一系列的扩展包的话,就表示你的环境变量没有添加。当然根据不同的电脑环境变量添加有些许不同,不过应该都大差不差。(就拿我的举例)

首先你需要查看你的项目使用哪个构建程序构建的。

可以看到我的项目由Desktop Qt 6.7.2 MinG...构建的,并且是64位。

 你需要找到你的qt的安装路径,将你的qt路径下的你的qt版本中的ming_64中的bin文件路径和qt路径下的Tools文件夹的ming..._64文件夹下的bin文件的路径添加到你的环境变量中。(我添加到了用户的环境变量中)

qt版本中的ming_64中的bin文件路径:

qt路径下的Tools文件夹的ming..._64文件夹下的bin文件的路径:

添加到环境变量:(可以用windows的搜索框搜索环境变量)

就是这个:

将复制的那两个路径添加进来并放到最上端

(注意:1.Tools路径要放到6.7.2路径的上边  2.这两个路径要上移到最上边  3.最要用没有中文的路径)

做完这些再去找到你的执行程序。双击便可以运行了。

2.打包成可执行文件:

C++打包:

新建一个空的文件夹,并且把你的.exe文件复制粘贴进去。

切换到你的文件路径下:

输入windeployqt xxx.exe就可以了,xxx.exe为你的执行程序。

然后生成完c++的qt程序代码应该就可以跑起来了。

QT6的可执行程序打包问题_qt6 打包-CSDN博客

qml打包:

大致跟c++打包差不多,但需要在终端输入的代码有些许不同。

新建一个空的文件夹,并且把你的.exe文件复制粘贴进去。

切换到你的文件路径下:

然后你需要输入"windeployqt xxx.exe --qmldir main工程路径"一串代码。

然后就会生成许多文件,最后就可以执行啦!!

3.打包到无qt端后出现的一些问题:

虽然说在有qt且配置好环境变量的电脑中可以正常运行,但是在发到无qt的电脑中却出现了一些扩展文件找不到的情况,如:找不到libgcc_s_dw2-1.dll,找不到libwinpthread.dll,找不到libstdc+±6.dll。

Everything安装Git路径。

解决:

可以用Everything软件搜索这几个文件,并从你的版本的构建文件夹中复制到应用程序的文件夹中。

将三个文件复制过去后,qml程序可以正常执行(而且我的qml程序比较简单),但之前我做的有一些复杂的c++程序虽然可以执行但是执行效果像是缺少了某些文件效果不理想。

然后我四处搜索了一些,可能跟配置的环境变量有关,我们在电脑中配置了环境变量,把那些配置文件都包含进来了,然而那些没有qt未配置环境变量的电脑就找不到dll文件。也就是在MinG...中通过windeployqt指令复制的dll文件不全。

之后有需求会在钻研...

4.将可执行文件打包成一个.exe文件

在打包前最好确认你的程序中不在缺少文件在打包。

Qt打包可执行文件.exe的两种方式_qt打包成可执行程序-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值