QT5.12 程序打包在win10发布(将QT5的工程项目打包成一个exe程序)

扣扣技术交流群:460189483 

首先,先介绍自己使用的环境。我使用的QT版本是5.12。我的电脑windows系统是win10专业版的。下面的打包教程,都是亲测可用的。但个人认为,即便是不同的windows操作系统,不同的QT版本,也应该是可以的。希望大家能及时反馈,我好及时更新。

介绍一下我所使用的打包工具。一个是QT5自带的windeployqt(这个大家不需要下载安装),另外一个是Engima Virtual Box,这是下载链接Engima Virtual Box,软件图标如下: 
这里写图片描述

做好这些准备工作之后,操作步骤如下: 
<1>: 打开一个QT程序,以release方式运行一次。操作如下图: 

 

这时你的工程项目文件夹下,会生成一个关于release的文件夹: 

扣扣技术交流群:460189483 

<2>:打开关于release相关的文件夹,找到该目录下release目录下的.exe程序。此时你点击是运行不成功的。因为缺少QT必要的库文件。将这个.exe文件拷贝出来(我的文件是ModelWidget.exe)

扣扣技术交流群:460189483 

创建一个单独的文件夹exefile(文件夹名字可以随意起),放在这个文件夹下。  

扣扣技术交流群:460189483 

<3>:在win10下,搜索QT,选择Qt 5.12 for Desktop(MinGW 7.3.0 64-bit),如下图:

扣扣技术交流群:460189483 

 点击Qt 5.12 for Desktop(MinGW 7.3.0 64-bit),打开命令窗口,如下 :

其实在QT目录下是可以找到这个目录的。

接着输入命令行,cd /d 路径 (指的是需要打包的exe程序目录,就是刚才拷贝出来的exe程序所在的目录,比较便捷的方法是打开刚才的exefile文件夹,直接复制路径,在cd /d 右键 直接就把路径粘贴过来了),如下图

输入完毕之后,按回车键,就进入了刚才的exefile目录路径,如下图

然后输入如下命令行:windeployqt 程序名 

我的程序名是ModelWidget.exe,所以我输入的是windeployqt ModelWidget.exe,如下图

敲击回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件(exefile文件夹),如下图

这时我们看程序目录exefile文件夹如下: 

此时,理论上在当前目录下是可以点击运行exe程序的,如果可以运行,说明库文件都已经拷贝到当前目录下了。但很多时候运行的时候会报错,错误类型是缺少相应的dll库文件,例如如下错误:

那么不要着急,解决方法有2种,一种是根据提示,将缺少的库文件从QT库中拷贝到当前文件夹exefile,另一种是设置环境变量(此种方法比较粗暴直接,上面的步骤都不需要操作,可直接在win10上运行release目录下生成的.exe程序)

解决方法一:找到QT的库安装目录,我的是安装在D盘,我的路径是D:\qt\5.12\msvc2017_64\bin,注意我是64位,32位的请选择msvc2017,如下图

因为bin里面的库文件32位的与64位的库文件名字基本一样,如果拷贝错了,运行程序时会报错(0xc000007b)

将bin文件夹下的缺少的库拷贝到exefile,然后exe文件就可以正常打开了!

解决方法二:在我的电脑--右键--属性,弹出界面如下

选择左边的高级系统设置,在弹出的窗口上选择高级,界面如下

点击右下角的环境变量,在弹出窗口选择path,界面如下

选择编辑,在弹出窗口选择新建,然后将QT的库文件存放路径拷贝进来,然后确定如下图

这时候再次运行exefile文件夹下的exe程序,即使文件夹下没有dll库也可以运行,Qt Creator生成的release文件夹下的exe程序也可以直接运行,我的ModelWidget.exe程序运行界面如下

 

<4>打开运行Enigma Virtual Box,对文件进行打包,生成不依赖QT库的exe程序: 

按照上图的示意,添加路径和文件如下图。文件可以托选,选择所有文件后,直接拖入界面框内。注意是要所有文件和文件夹全部拖进。示意图如下:

在右下角的【Files Options】中可以选择是否将文件压缩: 

然后点击右下角的Process开始打包,打包过程如下:

打包完成后,会在目标目录下生成exe文件名_boxed.exe文件,直接双击就可以运行了,拷贝到其他电脑也可以直接运行,不再需要安装QT的各种库了,我生成的打包文件是 ModelWidget_boxed.exe,到此全部结束!

  • 42
    点赞
  • 252
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值