QT可执行程序打包成安装程序

目录

1.将QT程序先放到一个文件中

2.下载QtInstallerFramework-win-x86.exe

3.将setup.exe单独拷贝出来,进行安装测试

4.测试安装后的程序是否可执行


1.将QT程序先放到一个文件中

(1)QT切换到release模式,编译后在构建目录生成可执行文件,例如myqml.exe,把该文件复制到一个单独文件夹;

a.QT切换到release模式,进行编译;

b.进入生成myqml.exe的目录,将myqml单独拷贝出来

c.在C:\Qt\Qt5.12.3\5.12.3\mingw73_64下创建MYQML文件件并将上一步的myqml.exe拷贝到C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML下

(2)在开始菜单找到QT,在里面找cmd命令行程序,类似"Qt 5.12.3 (MinGW 7.3.0 64-bit)",点击运行;

(3)命令行输入:cd "myqq.exe所在路径",例如"cd MYQML",执行;

(4)然后使用 windeployqt 工具命令:windeployqt myqml.exe,执行即可把依赖库复制到当前目录。生成如下:

此时可以看到在MYQML下已经将依赖的库添加进来:

(5) 进入到C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML下,双击执行myqml.exe,确认myqml.exe是否依赖库全部添加进来,既是否可执行,如果不可执行,会提示哪些依赖的库没有添加进来:

由上图可知,还有很多依赖库未添加进来,通过搜索工具,在电脑下搜索对应的依赖库,并添加进来;

再次双击执行myqml.exe,其可执行了:

2.下载QtInstallerFramework-win-x86.exe

(1)通过如下路径下载QtInstallerFramework-win-x86.exe

Index of /official_releases/qt-installer-frameworkhttps://download.qt.io/official_releases/qt-installer-framework/

(2)安装QtInstallerFramework-win-x86.exe

3、配置

QtInstallerFramework-win-x86.exe安装在C:\Qt\QtIFW-4.6.1,安装目录下有这个目录examples\tutorial,这是个例子

主要配置./config/config.xml 和 ./packages/com.vendor.product/meta/installscript.qs

然后将C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML文件夹里的所有东西全部复制到./packages/com.vendor.product/data目录下,包含第三方的链接库

4、使用如下命令制作安装包

C:\Qt\QtIFW-4.6.1\bin\binarycreator.exe -f -c C:\Qt\QtIFW-4.6.1\examples\tutorial\config\config.xml -p C:\Qt\QtIFW-4.6.1\examples\tutorial\packages setup.exe

执行后会花一些时间对myqml.exe和依赖的库进行打包生成安装程序setup.exe

安装程序setup.exe在 C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML下

3.将setup.exe单独拷贝出来,进行安装测试

(1)setup.exe将其拷贝到桌面

(2)双击执行安装,出现如下画面

(3)选择安装路径,一步步默认选择进行安装

(4)为安装软件起名称:

(5)继续安装,安装过程中会有一些依赖库被杀毒软件认为不可信,自己点击信任,继续,如下显示安装完毕

4.测试安装后的程序是否可执行

(1)安装路径:

(2)双击可执行程序:

(3)程序执行成功

相关推荐
是苏浙7 分钟前
零基础入门C语言之贪吃蛇的实现
c语言·开发语言·数据结构
化作星辰25 分钟前
java 给鉴权kafka2.7(sasl)发送消息权限异常处理
java·大数据·开发语言·kafka
无极小卒25 分钟前
如何在三维空间中生成任意方向的矩形内部点位坐标
开发语言·算法·c#
克里斯蒂亚诺更新29 分钟前
微信小程序 点击某个marker改变其大小
开发语言·前端·javascript
Alberta ゙2 小时前
C++初阶
开发语言·c++
the白勺2 小时前
RabbitMQ-基础-总结
开发语言·c#
Dev7z2 小时前
基于Matlab多目标粒子群优化的无人机三维路径规划与避障研究
开发语言·matlab·无人机
沐知全栈开发3 小时前
HTML 脚本:基础、应用与未来趋势
开发语言
@菜菜_达3 小时前
interact.js 前端拖拽插件
开发语言·前端·javascript
APIshop3 小时前
实战解析:苏宁易购 item_search 按关键字搜索商品API接口
开发语言·chrome·python