Qt 软件发布与打包

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.当然使用对应的 工具的 "命令行工具" 也是可以的!

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

软件打包(NSIS)

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

图片如下

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

授权文件就不折腾了!

下一步

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

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

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

完成,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%)
时间: 2024-10-05 15:40:15

Qt 软件发布与打包的相关文章

qt 软件发布在别的机器不能运行(IDE为vs2005)

1.添加项目用到的库文件 打开vs解决方案,找到你的项目,右键->属性,就会看到如下图所示 (2). 在qt的bin目录下找到对应的dll文件 注意带有d表示debug版的.比如QtSqld4.lib这里d就是debug版的意思,发布用的是release版的,所以要找对应的release版,就是没有d的版本. 同时还要加上windows的库文件. debug C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\

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

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

QT软件打包图文教程

写这篇博客主要是记录一下QT软件打包的过程,这样在以后遇到问题就可以看一下...废话不多说,直接进入正文... 首先介绍环境:windows + QT5.2 第一步:当然是准备好要打包的exe了,如果没有exe,那还谈什么打包 第二步:准备打包工具,主要有Dependency Walker  +  FilePacker +everything,第一个软件用于检测动态链接库,第二个软件用于打包软件,生成单个exe文件:第三个软 件主要用来在电脑中查找所需要的文件,很快很方便 具体过程截图如下: 1

AlphaDict 软件发布

短短续续,经过了大约大半年的开发, 我的第一个软件作品:AlphaDict 终于 release 了1.0, 这是一段很困难的时间,需要从写文档开始,做所有的事情.为了保持代码的简洁, 可控,减少对系统平台的依赖性.我尽量使用 标准 c/c++ 库的 API, 不得不自己去封装打包一些东西. 有时候,碰到一些平时没有深入的问题,不得不中断手头的工作,来深入学习新的东西, UTF-8/16/32, UNICODE, UCS 为了深入理解这些,不得不停下来,去看UNICODE的spec,  C++模

【转】appStore上传苹果应用程序软件发布流程

转载地址:http://blog.sina.com.cn/s/blog_68661bd801019uzd.html 首先确定帐号是否能发布, https://developer.apple.com/account,如果你打开Provisioning Portal,然后点击DisTribution看到的是下图中那样,再考虑按下面的方法弄 (1)图中加号是灰色,点击图中的加号,没有反应,说明你的帐号不能发布,找你们老大要帐号,正常情况是加号是黑色,点击会弹出一个创建证书界面. (2) 没有发布证书,

appStore上传苹果应用程序软件发布流程(之前都是同事发,复制一份备用)

首先确定帐号是否能发布, https://developer.apple.com/account,如果你打开Provisioning Portal,然后点击DisTribution看到的是下图中那样,再考虑按下面的方法弄 (1)图中加号是灰色,点击图中的加号,没有反应,说明你的帐号不能发布,找你们老大要帐号,正常情况是加号是黑色,点击会弹出一个创建证书界面. (2) 没有发布证书,如果有,是图中那样,如果你没有或者状态不对,则你需要新建证书,下面的内容会一步步介绍.(3)发布还需要用到Xcode

Microsoft Visual Studio 开发的C++程序软件发布相关事宜

VS2005/VS2008软件发布: Debug版本: 非MFC程序: 编译选项mdd: 仅依赖C++库和C运行时库,需要到VS2005/VS2008下安装目录VC/redist/Debug_NonRedist中,找到Microsoft.VC90.DebugCRT目录,其中的清单文件*.manifest中内容对应依赖库文件msvcp90d.dll和msvcr90d.dll:前者为C++库,后者为C运行时库:此外还有一个msvcm90d.dll库,项目中一般也会用到:对于清单文件,若VS配置属性中

Qt QMediaPlayer发布没有声音

使用Qt开发的软件发布时没有声音,开发时是有声音的,解决办法: 除了需要Qt5Multimedia.dll以外,还需要这两个库:Qt5MultimediaWidgets.dllQt5OpenGL.dll 另外需要qt安装文件夹下的这个文件: plugins\mediaservice 原文地址:https://www.cnblogs.com/AuroraMini/p/8481334.html

关于基于GDAL库QT软件平台下C++语言开发使用说明

背景前提 地理空间数据抽象库(GDAL)是一个用于读取和编写栅格和矢量地理空间数据格式的计算机软件库,由开源地理空间基金会在许可的X / MIT风格免费软件许可下发布. 作为一个库,它为调用应用程序提供了一个抽象数据模型,用于所有支持的格式. 它还可以构建有各种有用的命令行接口实用程序,用于数据转换和处理. PROJ.4库支持投影和转换.(摘自维基百科) 相关的OGR库(OGR Simple Features Library [2])是GDAL源代码树的一部分,它为简单的特征矢量图形数据提供了类