当前位置: 首页 > news >正文

Qt5.15.2 可执行程序发布

近期因为项目和个人产品生产调试的需要,用Qt 5.15.2制作了几个配置调试软件;

准备发给生产时,觉得软件包太过臃肿,想要做些改进,之前给生产移交调试软件时,只用Qt自带的桌面工具打包可执行程序;

这种打包方式,文件夹下会多出很多的库文件,要从中找到 .exe 可执行文件才能打开运行,不够简洁;

遂整理一下使用第三方工具打包 .exe 可执行文件的流程,打包后整体只有一个 .exe 可执行程序,无需安装,到手即用。


打包过程涉及到两个工具;

· Windeployqt

· Enigma Virtual Box

Windeployqt工具,无需下载,这是Qt集成好的桌面软件发布工具,它会根据.exe文件的需要,打包运行时使用的全部库资源;

Enigma Virtual Box工具,是一款免费的第三方打包工具,它可以将任何exe文件及其依赖的文件打包成一个完整独立的可执行程序;

下载地址:https://enigmaprotector.com/en/downloads.html


发布流程分为两个部分,先使用Windeployqt工具将 .exe 文件所需的全部依赖打包到一个文件夹中;然后再使用Enigma Virtual Box工具将所有文件封装成一个 .exe 文件。

首先,将Qt切换至Release模式生成 .exe 可执行文件;

从Qt工程路径下的Release文件夹下,将 .exe 文件和图片资源拷贝到待打包的文件夹中;

从Windows 11的软件中找到Qt文件夹,从文件夹中找到桌面发布工具并打开;例如我这里Qt编译时使用的是MingW8.1.0 32bit编译器,那么发布时就选择相同的发布工具;

①、输入命令:cd /d <exe可执行程序路径>;例如我这里待打包的程序路径是D:\10_Qt_Source_Project\ZiZheng_AO8_Tools_V1_0_0,将路径复制过去即可;

②、输入命令:windeployqt <可执行程序名称>;例如我这里待打包的程序名称是PLC_Tool.exe,命令就是windeployqt PLC_Tool.exe;

③、命令输入正确后,开始执行打包过程,无需操作;

打包执行完毕后,文件路径下会多出很多依赖库文件;

执行到这一步,.exe 文件已经可以独立运行,但还不是我们追求的,我们希望它能是一个独立、完整的.exe文件;

打开安装好的Enigma Virtual Box软件;

①、打开我们上述封装好的.exe文件;

②、打开生成后想要放置的路径,并设置好名称;

①、回到我们之前打包好的.exe文件夹下,全选文件;

②、拖放至空白处;

③、点击OK;

①、打开文件操作;

②、选择压缩文件;

③、点击OK;

选择处理;

①、打包完成后,可以选择运行也可以关闭;

回到我们设定的输出路径中,可以看到,整个文件夹中只有一个.exe文件,没有了依赖库等其它杂项。


至此,Qt程序的发布及打包流程记录完毕;

这样打包出来的软件为绿色版,只有一个 .exe 可执行文件,客户拿到后,无需安装,打开即用。

相关文章:

  • Rust 学习笔记:关于 Unsafe Rust 的练习题
  • Java八股文——消息队列「场景篇」
  • VSCode1.101.1Win多语言语言编辑器便携版安装教程
  • 【工具教程】识别PDF中文字内容,根据文字内容对PDF批量重命名,提取识别PDF内容给图片重新命名的操作步骤和注意事项
  • uniapp评价组件
  • 从生活场景学透 JavaScript 原型与原型链
  • 微信小程序扫码添加音频播放报错{errCode:10001, errMsg:“errCode:602,err:error,not found param“}
  • VR 看房:突破成长痛点,展望未来趋势
  • YOLOv5 自定义模型 Android 部署完整指南
  • C++11 右值引用(Rvalue Reference)
  • uni-app-配合iOS App项目开发apple watch app
  • bit sbit sfr的区别
  • 【Pandas】pandas DataFrame squeeze
  • RISC-V物联网关,支持鸿蒙,T-Thread实时系统
  • Android 中 解析 XML 字符串的几种方式
  • 如何使用 Dockerfile 创建自定义镜像
  • 轻量级web开发框架之Flask web开发框架学习:get请求数据的发送
  • 国产芯片能在服务器领域替代Intel(经验总结贴)
  • phpstudy无法启动mysql,一启动就关闭,完美解决
  • WIFI原因造成ESP8266不断重启的解决办法
  • wordpress登录链接/湖南seo排名
  • 垂直网站导航是谁做的/seo搜索引擎招聘
  • 企业做网站用dedeCMS免费吗/google官网登录
  • 手机图片网站 模版/seo软件代理
  • 什么是动态网站/指数是指什么
  • 微信开发者工具打不开/北京seo公司有哪些