Qt|Qt软件发布与打包

Qt5 Widget 程序 Qt 库裁剪方法 Qt5 Widget 程序 Qt 库裁剪方法 使用 windeployqt.exe 时拷贝的 Qt 动态库,有一些是可能没用到的。 If dynamic OpenGL was used, then the archive must additionally contain 反之,如果没使用dynamic OpenGL,以下文件可以删除,可在调用windeployqt.exe时加--no-angle和--no-opengl-sw这两个参数。 QtWidgets/C++ 程序都不用 OpenGL,所以完全可 阅读详情

http://2678482.blog.51cto.com/2668482/1616826

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://2678482.blog.51cto.com/2668482/1616826

Windows 7, X64 平台


比较烦琐的方式是,运行Qt*.exe 程序,提示缺少 *.dll, 将缺少的*.dll拷贝到目录中,感觉比较麻烦还容易出错!网上大半都是这样文档,想想 QT 应该有解决这此笨办法的工具(windeployqt),


  1. Qt 5程序在Windows上的发布 将所有依赖的库整理好,放在目录中运行,打包! (缺点:存在多余的库)

  2. 使用 Process Explore / depends22_x64 等工具 获取所有的依赖库 (缺点:太麻烦了)

  3. windeployqt 找出依赖,并自动拷贝到当前目录  



通过 Qt "D:\Qt\Qt5.4.0\5.4\msvc2013_64\bin\windeployqt.exe" 命令找出依赖的库


windeployqt QtWebApp.exe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
D:\qtcode\build-QtWebApp-Desktop_Qt_5_4_0_MSVC2013_64bit-Release\tmp\QtWebApp.ex
e 64 bit, release executable
Direct dependencies: Qt5Core Qt5Network Qt5Sql
All dependencies   : Qt5Core Qt5Network Qt5Sql
To be deployed     : Qt5Core Qt5Network Qt5Sql
Warning: Cannot  find  Visual Studio installation directory, VCINSTALLDIR is not s
et.
Updating icuin53.dll.
Updating icuuc53.dll.
Updating icudt53.dll.
Updating Qt5Core.dll.
Updating Qt5Network.dll.
Updating Qt5Sql.dll.
Creating directory bearer.
Updating qgenericbearer.dll.
Updating qnativewifibearer.dll.
Creating directory sqldrivers.
Updating qsqlite.dll.
Updating qsqlmysql.dll.
Updating qsqloci.dll.
Updating qsqlodbc.dll.
Updating qsqlpsql.dll.

所依赖的 Qt 库都会自动拷贝到当录下!

注意:

Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not s

et

直接用 "VS2013 开发人员命令提示" 命令行去,执行刚才的 windeployqt QtWebApp.exe,会将 "vcredist_x64.exe"(vc x64 运行最少环境)程序放入当前目录。


建议:将所用到的库与开发环境的路径都放入 PATH 环境变量中设置好,这样使用 windeployqt 都能找到对应的 dll.当然使用对应的 工具的 "命令行工具" 也是可以的!



wKioL1T1Ueey_wlqAAGtbUg5irY587.jpg

Qt绿色版的程序就这样生成完成!


软件打包(NSIS)

NSIS菜单 -- 编译器 -- VNISEdit(编译器环境)

图片如下


wKiom1T1UYjzn44aAAMNz83DKTg399.jpg

wKioL1T1UuGBxbzpAAGppYRYPAE261.jpg

文件-- 新建脚本-向导 -- 下一步 -- 下一步到

wKiom1T1Ul3BnBX5AAFw5cRttKc539.jpg

授权文件就不折腾了!

下一步

wKiom1T1UtnAMUK9AAFdCnG0OW0592.jpg


选项中 "c:\path\to\file\AppMainExe.exe", c:\path\to\file\Example.file 都删除


接来下,点击上方的 "树型" 按钮 

wKioL1T1VI_hDwVxAAC-jxklMvo066.jpg

将“绿色版”的目录填入"选择的目录", 选中"包含子目录","单独添加每个文件" -- 确定 -- 下一步

wKioL1T1VSvgwZUAAAHBdixSYqw844.jpg


wKiom1T1VHPxOmc4AAEt8LLY7nE706.jpg


完成,NSIS 自动编译,生成打包后的文件!

输出的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
已处理 1 个文件, 写入输出:
添加插件初始化函数... 完成!
处理页面... 完成!
移除未用的资源... 完成!
生成语言表...完成!
生成卸载程序...完成!
输出:  "F:\Program Files\NSIS\xxxx\Setup.exe"
安装程序:4 个页面 (256 字节), 3 个区段 (需要 2) (3144 字节), 325 条指令 (9100 字节), 176 个字串 (2509 字节), 1 个语言表 (282 字节).
卸载程序: 2 个页面 (128 字节), 1 个区段 (1048 字节), 69 条指令 (1932 字节), 93 个字串 (1561 字节), 1 个语言表 (226 字节).
数据模块优化器储存了 14592 字节 (~0.0%).
使用 lzma 压缩.
EXE 头部大小:                  46592 / 34816 字节
安装代码:                       2852 / 15667 字节
安装数据:                   15898195 / 40645353 字节
卸载代码 + 数据:                9689 / 15249 字节
CRC (0xD8BCB363):                  4 / 4 字节
总计大小:                   15957332 / 40711089 字节 (39.1%)

QT项目打包成软件进行发布的三种方式 一些小伙伴可能很好奇我们使用QT制作的软件该怎么像网上其他人那样进行打包发布,我这里对打包发布的三种方式都进行了详细讲解,分别为绿色便携版、单文件版和安装版。除了绿色便携版,其他两种方式非QT开发的软件也同样适用。 阅读详情

相关推荐

Qt应用程序发布

5:将整个问价夹复制到没有安装Qt的计算机上也可以运行(如运行时提示缺少文件,请进入之前windeployqt.exe安装路径寻找缺少的文件,并拷贝至目标文件)3:windeployqt.exe工作原理很简单,它会到当前的环境变量PATH配置的搜索路径中,查找应用程序所需要的库和资源,拷贝到应用程序目录中。2:查看安装Qt时发布工具windeployqt.exe所在的目录。4:执行windeployqt命令后,相关文件会被复制到目标文件。1.1:查看当前构建生成路径,并将所生成的.exe单独拷贝出来。

issta的博客 1983

Qt 软件发布与打包

Windows 7, X64 平台比较烦琐的方式是,运行Qt*.exe 程序,提示缺少 *.dll, 将缺少的*.dll拷贝到目录中,感觉比较麻烦还容易出错!网上大半都是这样文档,想想 QT 应该有解决这此笨办法的工具(windeployqt),Qt 5程序在Windows上的发布将所有依赖的库整理好,放在目录中运行,打包! (缺点:存在多余的库)使用 Process Ex...

weixin_34362875的博客 280

win7平台下QT软件的打包与发布(部署与安装)

软件编写调试好之后最重要的就是打包和发布,这样软件才好传播。 qt软件的打包发布一个难点是必备dll文件的识别。不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨识不了qwindows.dll(会报错could not find or load the qt platform plugin windows)。并且还要自己手动添加不是很方便。一番查找后

shallen320的专栏 1万+

Qt软件发布(版本信息,Release版程序,代码打包,制作安装包)

当我们完成了Qt程序的开发,希望交予测试,或是正式发布的时候,需要将我们的程序进行层层封装,最终以一个安装包的形式呈现给用户。专业版的软件发布,以Qt软件为例,需要三个步骤:生成版本信息,生成Release版程序,代码打包和制作安装包。本篇将分别对上述三个步骤展开描述。......

阿清的随手记 7581

Window平台Qt软件打包发布方法

Qt开发生成的工程,通过动态编译之后生成对应的可执行文件,如果直接执行该可执行文件则会报错: 原因是:Qt动态编译生成的可执行文件依赖非常多的dll文件,并且这些dll文件可能分布在不同文件目录,且这些目录大概率是没有添加在window系统的环境变量。 如果我们需要将该执行文件部署到纯洁的操作系统环境(环境中并无Qt开发环境),那么这些动态库更无从找到。此时,我们需要将可执行文件以及依赖的dll文件一同打包发布。在window平台,Qt软件的打包发布使用windeployqt工具进行。 具体的打

学到牛牛官网帐号 2488

打包发布qt+python软件

最近开发了一款可视化软件平台,初次接触Qt,在这里简单记录一下软件(Qt+Python)的打包过程。 对于qt的依赖库,qt提供了windeployqt.exe来进行打包

fifbro的博客 1941

Qt软件打包与发布

QT打包后.exe无法运行的问题

weixin_45837120的博客 566

智能电网中的智能调度与优化算法研究

本文研究智能电网中的智能调度与优化算法,旨在提高电网运行的效率与可靠性,减少能源浪费和设备故障的风险。在智能电网日益复杂化的背景下,传统的调度方法已难以满足高效、稳定的运行要求,因此亟需借助先进的优化算法对电网进行智能调度。本文第一深入分析智能电网调度中的关键问题与挑战,探讨优化算法在智能电网中的应用现状,并分析常见的优化算法,如遗传算法、粒子群算法和模拟退火算法。随后,本文构建智能电网的调度优化数学模型,并对电网负荷、发电模型及约束条件进行详细建模。在算法部分,本文提出改进的粒子群算法和遗传算法,并结合M

weixin_44553616的博客 1890

QT打包发布软件

然后在release文件夹下。

VictorFz的博客 735

基于紫光展锐平台的音频调用到hal层逻辑

基于紫光展锐平台的音频调用到hal层逻辑 1、数据流程图 AudioPolicyService和AudioFlinger的创建: 这两个服务都在audioserver中启动,文件路径: frameworks/av/media/audioserver/main_audioserver.cpp 从AudioFlinger和AudioPolicyService的创建,到output的打开,以及AudioFlinger开始往底层写入数据的具体流程如下图: #mermaid-svg-kjHL4XWwkQXN6NdA

weixin_55053963的博客 1355

PHP服务端 苹果支付(IAP)处理

公司做的app需要做IAP订阅支付,开始觉得和微信的支付流程差不多,做起来还是有点麻烦,主要是网上的文章很少,不能拿来主义。自己做完总结一下,希望对小伙伴们有帮助我就很欣慰了。代码写的不好 不要喷我。。。 首先讲一下我的业务逻辑,也就是php服务端需要做什么事情。 先上图: 下面我详细的讲一下每...

山水的博客 1万+

Debian_QT软件开发_deb打包发布

Debian_QT软件开发_deb打包发布 本文是依赖《Debian_QT软件开发_QT程序打包》一文。 1 搭建打包环境 1.1 安装打包工具 登录后复制 sudo apt update sudo apt-get install dh-make build-essential devscripts debhelper1...

cnzzs的博客 1114

银河麒麟v10-arm SEALOS离线部署k8s集群(v1.22.8)

示例 如果你想保存一个名为 "my_snapshot" 的 etcd 快照到指定的对象路径你可以使用以下命令: sealos etcd save --backupPath /root --name my_snapshot 如果文件名带时间戳:my_snapshot$(date +"%Y%m%d_%H%M%S") 会生成一个形如 20230913_143045 的时间戳。--restorePath string:指定快照恢复目录(默认为 "/opt/sealos/etcd-restore")。

xjudt的博客 3288

基于Qt4.8的Windows软件的开发与打包发布

为了实现各平台之间的移植,初步接触Qt,发现其甚是好用!公司的产品大部分都是用串口来实现与上位机通信的,所以首先了解Qt的串口操作,其次还用到数据转动态曲线,多线程,音视频多媒体以及读写excel文件等操作。整个系统基本稳定运行后,就要打包发布了,自己的劳动成果可以发不了,很是激动!windows打包的流程基本是这样的,首先Qt编译要选择静态编译,之后再利用NSIS脚本将编译好的Qt可执行文件打包

guochang7511的专栏 4558

【WRF后处理】基于wrf-python处理wrf运行结果wrfout_d01

基于wrf-python处理wrf运行结果wrfout_d01

WW、forever的博客 5209

三维重建(十三)——多视角重建

本文综述了多视角三维重建技术,涵盖静态和动态场景的重建方法。介绍了从图像获取到纹理映射的SFM流程,以及非刚性重建(NRSFM)的挑战和解决方案。重点探讨了基于可微渲染的重建方法,以及数据采集策略、相机标定和同步技术。文章还讨论了如何用单视角相机模拟多视角重建,总结了关键技术和未来研究方向。

河海大学研究生在读的学习笔记 1058

#【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】

作为qt的初学者,开始入门qt的时候,很多东西其实也不是很会,调试好的软件如何发给别人使用,如何去做,也不是很清除的,自己也查了很多资料才渐渐明白。以上是次实验内容了。

qq_22146161的博客 1253

LPDDR6来了!到底比LPDDR5/5X强在哪?从速度到总线,技术细节一次说清!

LPDDR6不仅仅是速度快点、位宽大点那么简单,它是一次架构级的革新,从引脚、总线、时钟管理到Burst协议全部升级。🎯我们正在迈入一个“AI优先”的时代,内存架构也必须跟上。对于做芯片、做整机、做系统的你,理解LPDDR6的技术变化,提前规划测试方案,是现在就该启动的动作!

weixin_43199439的博客 1284

Qt软件打包发布

1)QT2)Enigma Virtual Box免费版。

qq_39200110的博客 793

智能硬件产品:做好一款电子硬件产品,工具必不可少

上到战略规划,中至运营策略,下至人性洞察,。最初做产品时,笔者从一开始就陷入到了对工具的痴迷,包括:PS、AutoCAD、PROE、犀牛、Axure、Keyshot、Altium……大概将 2 个多月的时间和精力都消耗在了学习使用工具上。通过工具的运用也确实提高了工作效率,在仅有创意的前提下通过灵活运用工具,一年内便成功申请了多个实用新型专利、设计了多款产品的高保真原型图等。正在上传…重新上传取消。

产品线负责人 1444

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

如何打包发布基于Qt4 Windows的软件

如何打包发布基于Qt4 Windows的软件 先从Windows平台开始。 Windows平台下的软件发布最主要的需求是想办法找到在你的发布中应该包含哪些必须的文件, 同时要保证应用程序运行时能正确找到这些文件, 发布基于Qt的软件也是同样的需求。 就不同的情况一一阐述: 静态链接的情况 静态链接是最简单的情况,这种情况下需要发布的文件数量是最少的, 只需要发布一个单独的...

weixin_30727835的博客 319

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

使用windeployqt和InstallShield打包发布Qt软件的流程

Qt编译之后需要打包发布,并且发布给用户后需要增加一个安装软件,通过安装软件可以实现Qt软件的安装;用于安装软件的软件有很多,这里主要介绍InstallShield使用的流程;

手写不期而遇的博客 1446

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 什么是数据驱动编程
下一篇: Qt Creator创建子目录项目并自定义目标文件输出目录
cocoasprite
博客等级 码龄14年 72粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值