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

exe打包工具_QT系列之如何打包可执行程序,让QT程序进入任意一台电脑

最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,原因是由于在其他电脑想要运行QT程序,必须安装QT5,有一点麻烦。为了实现在任何一台windows系统都能运行,不限于电脑需不需要安装QT安装包,这里为大家讲解一下在QT5中,如何实现windows系统打包QT可执行程序。

69a0b482b43348a484dcccabb6899cef

一、配置环境

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

二、工具推荐

介绍一下我所使用的打包工具。一个是QT5自带的windeployqt(这个大家不需要下载安装),另外一个是Engima Virtual Box,需要下载的朋友,点击右上角关注按钮。私信我,可以发链接哦。软件图标如下:

695ec06e98024f7aa0201be3379357b9

Engima Virtual Box

三、操作简介

做好这些准备工作之后,操作步骤如下:

<1>: 打开一个QT程序,以release方式运行一次。操作如下图:

e9d59f6d460e49dcbad8b3dc54589f62

32bit

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

52275c3c63ae4755b406c39306963b78

release

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

ddcf2ecacbf14434a23cf787a8c1ed4b

exe

<3>:在win10下,搜索QT,如下图:

打开红色标记的命令窗口 :(需要注意的是,这里选择的程序是有你的QT构建目录决定的)

6402847c005740cbacc57055dc965076

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

接着输入命令行,cd /d 路径(指的是需要打包的exe程序目录,就是刚才拷贝出来的exe程序所在的目录),回车后:

0926f0247cc4494f8770e6a5256a1d48

输入如下命令行:windeployqt 程序名 敲击回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件:

b70553ae8da146f9b76de396729b580a

这时我们看程序目录如下:

2f8eb2a19a9249d5bf4cdb869932a766

此时,在当前目录下是可以点击运行exe程序的,说明库文件都已经拷贝到当前目录下了。现在只需要将这一堆文件进行打包。

<4>打开运行Enigma Virtual Box:

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

c097627da551426cb2229c2cdadeb0be

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

然后点击Process开始打包。

1d594f779ca24fb08ac59dd18182354f

打包完成后,我们的工作就完成了,去程序打包后的路径点击运行吧。更多精彩请点击关注,后续会持续发布更多精彩内容。

cd34aea2172d49f587f69f97e9053e6b

相关文章:

  • conda jupyter pytorch_PyTorch进阶之路(一):张量与梯度
  • pytorch dataset读取数据流程_动手学习深度学习Pytorch——线性回归
  • python如何将列表去掉引号_如何将你的 Python 项目全面自动化?
  • 用python进行自然语言处理_用python进行图片整理
  • dbf文件怎么创建_spring boot 配置文件properties和YAML详解
  • python中类与对象之间的关系_面向对象进阶之类和类之间的关系
  • 网关是什么意思_网关的理解
  • matlab toolbox下载_Mac上Matlab常见问题
  • python redis 操作_Python redis set集合操作
  • fileinputstream读取文件_20M 文件用 Java 压缩从30秒到1秒的优化过程
  • python打印皮卡丘_用python打印你的宠物小精灵吧
  • 平方根python_python的平方根
  • python怎么测试c代码_可以使用基于Python的单元测试框架和跑步者来测试C代码
  • nginx 跨域访问配置_nginx配置用户访问认证
  • python爬虫xpath教程_Spider-Python爬虫之XPath 教程
  • SegmentFault for Android 3.0 发布
  • 2017 前端面试准备 - 收藏集 - 掘金
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • express + mock 让前后台并行开发
  • JavaScript 基础知识 - 入门篇(一)
  • JDK9: 集成 Jshell 和 Maven 项目.
  • MySQL-事务管理(基础)
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • vue2.0项目引入element-ui
  • win10下安装mysql5.7
  • 闭包--闭包之tab栏切换(四)
  • 电商搜索引擎的架构设计和性能优化
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 什么是Javascript函数节流?
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 原生 js 实现移动端 Touch 滑动反弹
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #FPGA(基础知识)
  • #Linux(权限管理)
  • (1)Nginx简介和安装教程
  • (笔试题)分解质因式
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)http协议
  • (转)nsfocus-绿盟科技笔试题目
  • (转)一些感悟
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 使用配置文件
  • .NET面试题(二)
  • [16/N]论得趣