<QT开发> QT开发工具-之-QT应用程序打包

2 篇文章 0 订阅
订阅专栏

<QT开发> QT开发工具-之-QT应用程序打包

一 前言

笔者为什么会写这篇文章呢?这是因为,笔者使用windows QT开发了一个测试工具。目的是通过TCP/IP测试其它应用程序。首先这个QT程序是笔者自己开发的,所以笔者的电脑当然是可以运行这个QT程序的,但是想要这个QT程序在其它同事的电脑上运行怎么办?他的电脑又没有安装QT程序;而且也没必要直接给QT源码。 所以就产生了一个需求:如何将编译后的QT程序打包成单独的exe执行文件,然后这个单独的exe文件,就可以再其它没有安装QT的电脑上运行了。

基于上述要求,我们以一个简单的QT程序为例,讲解如何打包执行文件。

QT安装可参考笔者另一篇文章: <QT开发> QT开发工具-之-QT安装

二 新建测试QT工程

2.1 新建QT工程

在电脑桌面新建文件夹“QT_TEST”,如下图:
在这里插入图片描述

打开开始菜单,选择QT,现在已安装的“Qt Creator”;笔者安装的是“Qt Creator 9.0.2”,所以就选择这个了。
在这里插入图片描述
打开后界面如下:
在这里插入图片描述
点击 :创建项目 ,参考下图笔者选择即可,如果有其他要求可自行创建。
在这里插入图片描述
输入项目名称可存储路径,笔者这里就存在前面桌面创建的QT_TEST目录中,如下图:
在这里插入图片描述
选择qmake编译程序,当然读者有要求也可以选用cmake等,如下图:
在这里插入图片描述
生成模板程序的,主界面类名称和文件名等的设置,这些都是用默认的名称即可,如下图:
在这里插入图片描述
选择是否翻译的语言,这里就选“无”,有要求的读者,可自行选择。如下图:
在这里插入图片描述
选择编译使用的kit工具,笔者选择6.2.4 64bit 如下图,按需选择即可;
在这里插入图片描述

项目管理配置,默认选择“无”即可,如下图:

在这里插入图片描述

点击完成后,就会自动打开前面配置的QT工程了,如下图:
在这里插入图片描述

2.2 添加UI

在2.1小节打开的界面中,双击“mainwindow.ui”这个文件,就会进入UI编辑界面,如下图:
在这里插入图片描述
将左侧的控件,拖拽到右侧空白区域,读者可自行选择,笔者操作如下图:
在这里插入图片描述
至此我们的QT测试例程准备完毕。

三 编译QT

要想打包程序,那么得先将QT程序编译成可执行文件;编译分“Debug”和“Release”两个版本;对于需要打包的程序来说,一般都是编译Release版本。

QT界面左下方,可选择编译的版本,选择“Release”,如下图:
在这里插入图片描述
选择"Release"完成后,就可点击下方的编译按键,进行编译,如下图:
在这里插入图片描述
有弹框保存,点击“Save All”即可,如下图:
在这里插入图片描述
等待编译完成后会显示程序界面,如下图:
在这里插入图片描述
同时,在存放工程的路径下会生成编译的数据文件,如下图:
在这里插入图片描述

四 打包QT执行文件

4.1 准备构建QT执行文件

首先,在xxx/Desktop\QT_TEST 目录下新建一个文件夹,名为“APP”,如下图:
在这里插入图片描述

将Release输出目录下的执行文件复制到APP文件夹中,如下图:

在这里插入图片描述

在这里插入图片描述
这时如果单独运行“QT_TEST.exe”,是会提示错误的,找不到对应的依赖文件库等;如下图:
在这里插入图片描述
这时就是要使用QT自带的windeployqt 工具,来生成依赖的文件。

4.2 使用windeployqt 构建QT执行文件依赖库

打开QT commend,如下图:
注意:这里选择的cmd 要与 构建QT的kit版本保持一致。笔者用的是"MinGW 64 bit"
在这里插入图片描述
打开后如下图:
在这里插入图片描述
输入以下命令切换到APP目录下:

G:\WorkSoft\QT6.2\6.2.4\mingw_64>C:                                                                                                                                                                                                             C:\Windows\System32>CD ../..                                                                                                                                                                                                                    C:\>cd Users\XX\Desktop\QT_TEST\APP                                                                                                                                                                                                             C:\Users\XX\Desktop\QT_TEST\APP> 

在这里插入图片描述

使用windeployqt 工程,生成关联的QT库文件到当前目录下,命令如下:

windeployqt  QT_TEST.exe

在这里插入图片描述
执行完成后,会生成一些依赖文件,如下图:
在这里插入图片描述
此时双击“QT_TEST.exe”,即可运行该QT程序,如下图:
在这里插入图片描述
但是这样是就有一个比较麻烦的地方,就是如果需要把这个“QT_TEST.exe”给到其它人,那么其所依赖的文件也要一起给出才行,这样就显得有些拖泥带水了。
为了方便,我们需要将“QT_TEST.exe” 包括“APP“文件夹下 的整个内容打包成一个.exe文件,这样单独的一个执行文件就可直接运行了。

4.3 使用Enigma Virtual Box工具打包QT执行文件

下载Enigma Virtual Box,该软件是免费的,下载地址: 官网
打开后,选择”Enigma Virtual Box“的”Download“下载安装包。笔者已下载的安装包【 Enigma Virtual Box】如下图:
在这里插入图片描述
安装完成后打开该软件,如下图:
在这里插入图片描述
在这里插入图片描述
根据下图选择,并配置:
在这里插入图片描述
①:找到对应的执行文件QT_TEST.exe,如下图:
在这里插入图片描述
②:在①选择完成的基础上会默认一个输出路径,也可手动修改输出路径,笔者设置如下图:
在这里插入图片描述

③:添加打包文件,选择APP文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
④:选择”Compress files“ 压缩文件,如下图:
在这里插入图片描述
⑤:点击”Precess“,等待打包完成即可,如下图:
在这里插入图片描述
在这里插入图片描述
打包完成后点击”Close“关闭即可,也可直接点击”Run“运行验证。

五 运行验证

打开QT_TEST文件夹,如下:
在这里插入图片描述
双击”QT_TEST_boxed.exe“运行:
在这里插入图片描述
验证可知,打包后的执行文件”QT_TEST_boxed.exe“可单独运行;

后续就可以将”QT_TEST_boxed.exe“传给其它PC运行,而不用关注运行依赖库了。

六 总结

本文主要是讲解QT程序打包步骤,方便QT执行文件的发布使用,如果不足,欢迎沟通交流。

QT项目打包成软件进行发布的三种方式
KK_2018的技术博客_程序员不止是程序员
07-26 1万+
一些小伙伴可能很好奇我们使用QT制作的软件该怎么像网上其他人那样进行打包发布,我这里对打包发布的三种方式都进行了详细讲解,分别为绿色便携版、单文件版和安装版。除了绿色便携版,其他两种方式非QT开发的软件也同样适用。
QT项目超详细打包教程
qq_47023150的博客
11-18 8130
QT项目打包超详细教程
2024年Go最全Qt打包程序详解(适用于Windows平台)_qt windeployqt 打包(3),2024年最新感悟分享
最新发布
2401_84911026的博客
05-15 320
分享 Qt 程序(项目)的方式无非两种,要么直接分享程序的源代码,要么分享程序生成的可执行文件。和直接分享源码相比,大多数人会选择后者。但遗憾地是,Qt Creator 默认以动态链接的方式生成可执行文件,该文件无法独立运行,必须为其提供所需的动态链接库。也就是说,只分享 Qt Creator 生成的可执行文件是不行的,必须将运行所需的动态链接库一起分享,可执行文件才能在他人的电脑上正常运行。对 Qt 程序进行打包,指的就是找到可执行文件运行需要的所有动态库文件,并将它们统一存放到指定的空文件夹里。
QT开发-软件开发流程
hw5230的博客
02-02 2643
1、什么是软件开发流程(1)、通过一系列步骤保证软件产品的顺利完成(2)、软件产品在生命期内的管理方法学2、软件开发流程的本质(1)、开发流程与具体技术无关(2)、开发流程是开发团队必须遵完的规则3. 常见软件开发流程(1)、即兴模型(Build-and-Fix Model)A、与最终用户交流后立即开始进行开发B、没有需求分析和需求发掘的过程C、没有整体设计以及规划的过程D、没有相关软件文档,维护性差(2)、瀑布模型(Waterfall Model)
Qt 打包
xiaobbinm的博客
10-11 1645
Qt打包程序详解(适用于Windows平台)
qq_41854911的博客
03-21 1484
已剪辑自: http://c.biancheng.net/view/vip_9665.html分享 Qt 程序(项目)的方式无非两种,要么直接分享程序的源代码,要么分享程序生成的可执行文件。和直接分享源码相比,大多数人会选择后者。但遗憾地是,Qt Creator 默认以动态链接的方式生成可执行文件,该文件无法独立运行,必须为其提供所需的动态链接库。也就是说,只分享 Qt Creator 生成的可执行文件是不行的,必须将运行所需的动态链接库一起分享,可执行文件才能在他人的电脑上正常运行。
QT:可执行文件打包
xikangsoon的博客
08-17 2677
本文详细讲解了,如何将QT的可执行文件进行打包的过程。
第三篇:跨平台QT开发-打包
02-01
打包文件
QT打包工具enigma64-en-demo
11-28
QT打包工具enigma64_en_demo,用于QT使用release编译后的exe再进行打包,避免exe在其他电脑环境下无法正常运行,报错缺少常规动态库,该资源包直接解压即可,可直接安装使用,使用说明网上资料充足,可自行百度;
QT程序的打包方法和工具
05-13
QT程序的打包方法和工具;众所周知的原因,因为受到大环境的原因,现在软件要求开源开放,QT的使用越来越多,当然QT也是比较简单的,得到众多开发者的喜爱;初学者都会遇到如何打包和寻找打包工具的问题;在这里,我...
linux qt 程序打包脚本及流程
01-18
linux qt 程序打包脚本及流程。执行执行命令bash release.sh。程序名需要改,打包的文件保存在app中。最重要的一点是,脚本复制到LINUX下后,因为编码问题可能会报错,可以在linux下新建一个文件,手动敲入,执行...
QT打包软件
08-16
用于QT打包软件,将QT打包成一个EXE文件!!!!!!!!!!!!!!!!!!!!!!!!
mac配置Qt环境和把应用打包成dmg
03-29
本文将详细介绍如何在 Mac 上配置 Qt 环境,并将应用程序打包成 dmg 文件。下面将从头开始介绍整个过程。 一、下载和安装 Qt 要在 Mac 上使用 Qt,首先需要下载和安装 Qt。可以从官网下载在线版本,编译环境需要...
Qt怎么打包程序
weixin_39504048的博客
11-14 2587
我们用qt开发好的程序。经常需要能够放到别的电脑上运行。要在别的没有安装qt和vs的电脑上运行 因此打包成可移植的软件很有必要,需要用到的工具:windeployqt 步骤一:release模式运行 Qt左下角调试那儿,一般情况下都是debug模式,调成release模式 步骤二:拷贝.exe文件 到程序的目录文件 进入是如下: 选release文件夹进入 选...
QTC++/Qt使用Qt自带工具windeployqt打包
weixin_44404541的博客
12-19 617
运行项目debug或者release 将运行后的可执行文件单独放到一个文件夹中 根据项目使用的kits来选择Qt打包工具 打开工具后移动到exe文件夹下执行windeployqt xxx.exe 预览图
QT打包发布全流程,超详细
qq_52463974的博客
03-30 2341
设置图标(提示要.ico的才行),如果有需要可以留言,我有一个免费且好用的格式转换工具设置安装语言为简体中文(不会还有人不认识这几个英文吧)删除原有文件,导入我们自己的文件(点上面那个×),再点那个树杈一样的东西就可以导入文件了。找到这样一行代码,加上 "" "$INSTDIR\你图标的名称"要是编译没报错的话会在桌面产生一个安装包,这就是整个流程了。第二步:将项目切换成release模式。之后的都选默认的,最后保存脚本。最后点击编译脚本,在这里。
Qt使用自带打包工具windeployqt.exe
qq_37636293的博客
09-23 402
使用everything软件查找windeployqt.exe路径找到图片路径后,将已经编写好的qt程序,release发布,发布后会生成一个单独的exe文件。
Qt 程序打包发布工具 windeployqt
SurpassLi的专栏
04-02 252
前言 我们在自己电脑调试好的程序 然后发给其他电脑使用 这时其他电脑如果没有安装运行环境肯定是运行不起来的 那这时候我们可以使用官方提供的 windeployqt 工具将 exe 依赖的库全部打包好 这样只要我们把该打包的发布给其他电脑 这样就能运行了 测试 1. 新建一个文件夹,把我们要发布的exe文件,放进去 2.在改文件夹下 按住键盘 shift + 鼠标右键 3.输入,注意 Qt 的...
Qt软件开发流程简介、及文件操作
m0_73443478的博客
02-10 1339
Qt软件开发流程简介、及文件操作
UOS Qt打包发布
11-10
UOS是一个基于Linux的操作系统,Qt是一个跨平台的C++应用程序开发框架。在UOS中打包和发布Qt程序需要进行以下步骤: 1. 确认Qt程序的依赖库,可以使用以下命令获取Qt程序的依赖库列表: ``` ldd <Qt程序路径> ``` 2. 将Qt程序和其依赖库复制到一个目录中,例如`/opt/QtProgram`。 3. 创建一个`control`文件,用于描述打包信息,例如: ``` Package: QtProgram Version: 1.0 Section: utils Priority: optional Architecture: amd64 Maintainer: Your Name <youremail@example.com> Description: A Qt program for UOS ``` 4. 创建一个`postinst`文件,用于在安装程序后执行一些操作,例如: ``` #!/bin/sh echo "QtProgram installed successfully." ``` 5. 创建一个`prerm`文件,用于在卸载程序前执行一些操作,例如: ``` #!/bin/sh echo "QtProgram will be removed." ``` 6. 将以上文件放置在一个目录中,例如`/opt/QtProgramDeb/DEBIAN`。 7. 使用以下命令生成`.deb`包: ``` dpkg-deb --build /opt/QtProgramDeb ``` 8. 将生成的`.deb`包分发给用户进行安装。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • <Linux开发>linux开发工具- 之-开发使用linux命令记录 8502
  • <Linux开发> ubuntu开发工具- VirtualBox 虚拟机安装 8279
  • <Linux开发>linux开发工具- 之-samba共享文件夹 8079
  • <Linux开发>linux开发工具- 之-flameshot截图工具 7305
  • <Android开发> Android开发工具- 之-I2C TOOLS工具使用 6655

分类专栏

  • QAM8650P/SA8650平台开发 付费 59篇
  • SA8650平台开发-DiagnosticManager 付费 15篇
  • android vold分析 3篇
  • Linux驱动开发 19篇
  • Android Vold 7篇
  • cmake 5篇
  • Linux开发工具 15篇
  • ubuntu 20篇
  • Android开发 16篇
  • 高通8155开发 8篇
  • 根文件系统移植 2篇
  • STM32 10篇
  • STM32CubeMX 7篇
  • linux应用开发 4篇
  • python 1篇
  • visual studio 1篇
  • QT开发 2篇
  • Linux 27篇
  • window 5篇
  • Python开发 3篇
  • android启动流程 5篇
  • Android开发杂录 2篇
  • Kernel 13篇
  • STM32开发工具 1篇
  • linux系统移植 7篇
  • 杂录 3篇
  • uboot 3篇
  • tftp 1篇
  • HFS 1篇
  • 芯片驱动代码 1篇
  • ucosiii 2篇
  • 功能安全
  • c++ 6篇

最新评论

  • <sa8650>QCX Usecase 使用详解—环视摄像头 (SRV))

    waterfxw: 官方文档表情包 有疑问欢迎交流哈

  • <sa8650>QCX Usecase 使用详解—环视摄像头 (SRV))

    CCMMAO: 你这是乱写的。表情包

  • <sa8650>qcxserver 之 QCarCam 6.X API介绍 (第三部分)

    waterfxw: 可以私聊哈

  • Visual Studio 2015 应用程序打包成安装包

    阿翔要努力变强: 一步步很详细,很有参考价值,感谢!

  • <sa8650>qcxserver 之 QCarCam 6.X API介绍 (第三部分)

    fatansy: 能否提供相关的头文件

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • <sa8650>sa8650 qcxserver-之-摄像头传感器VB56G4A驱动开发<1>
  • <sa8650> sa8650相关文章记录
  • <sa8650>QCX ISP Tuning 使用详解 — Tuning前置条件
2024
07月 2篇
06月 18篇
05月 14篇
03月 5篇
01月 11篇
2023年65篇
2022年21篇
2021年29篇
2020年2篇
2018年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

waterfxw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

PHP网站源码龙华企业网站设计同乐百度网站优化坂田标王坪山设计公司网站坪地网络营销南山网站推广松岗网站优化按天扣费松岗网站搭建龙岗阿里店铺托管福田关键词按天收费民治模板推广广州百搜标王木棉湾网站搜索优化大浪网站优化按天收费大芬模板推广宝安模板网站建设坑梓企业网站设计西乡关键词排名吉祥百度seo丹竹头模板制作罗湖网站推广永湖模板推广永湖模板网站建设光明网络营销观澜网站改版南联网站建设南山关键词按天计费荷坳百度标王广州外贸网站建设福永网络推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化