Qt 软件发布与打包

转载:https://blog.51cto.com/2678482/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

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 个文件, 写入输出:
添加插件初始化函数... 完成!
处理页面... 完成!
移除未用的资源... 完成!
生成语言表...完成!
生成卸载程序...完成!
输出: "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%)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值