win7平台下QT软件的打包与发布(部署与安装) 打包成安装包样式
软件编写调试好之后最重要的就是打包和发布,这样软件才好传播。
qt软件的打包发布一个难点是必备dll文件的识别。不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨识不了qwindows.dll(会报错could not find or load the qt platform plugin windows)。并且还要自己手动添加不是很方便。一番查找后发现qt内置一个现成的dll依赖性工具windeployqt十分好用,该工具在qt的bin/目录下。
参考官方文档:http://doc.qt.io/qt-5/windows-deployment.html#application-dependencies
第一步是添加qt的bin/目录进系统path变量。很简单,在系统属性里设置,添加D:\Qt\5.4\msvc2010_opengl\bin;到系统path环境变量。(qt安装目录不尽相同)
第二部,在任意目录新建文件夹,把编译完成后的qt exe可执行程序拷贝过去。从命令行模式进入该文件夹,执行语句windeployqt xxxx.exe. 之后该工具会分析程序依赖性,自动添加必要dll文件至该目录。运行时命令行提示如下
- D:\TVS\Qt\LGTVSerialControl>windeployqt terminal.exe --release
- D:\TVS\Qt\LGTVSerialControl\terminal.exe 32 bit, release executable
- Adding Qt5Svg for qsvgicon.dll
- Direct dependencies: Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
- All dependencies : Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
- To be deployed : Qt5Core Qt5Gui Qt5SerialPort Qt5Svg Qt5Widgets
- 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 Qt5Gui.dll.
- Updating Qt5SerialPort.dll.
- Updating Qt5Svg.dll.
- Updating Qt5Widgets.dll.
- Creating directory iconengines.
- Updating qsvgicon.dll.
- Creating directory imageformats.
- Updating qdds.dll.
- Updating qgif.dll.
- Updating qicns.dll.
- Updating qico.dll.
- Updating qjp2.dll.
- Updating qjpeg.dll.
- Updating qmng.dll.
- Updating qsvg.dll.
- Updating qtga.dll.
- Updating qtiff.dll.
- Updating qwbmp.dll.
- Updating qwebp.dll.
- Creating directory platforms.
- Updating qwindows.dll.
- Creating qt_ca.qm...
- Creating qt_cs.qm...
- Creating qt_de.qm...
- Creating qt_fi.qm...
- Creating qt_hu.qm...
- Creating qt_it.qm...
- Creating qt_ja.qm...
- Creating qt_ru.qm...
- Creating qt_sk.qm...
- Creating qt_uk.qm...
- D:\TVS\Qt\LGTVSerialControl>
这样必要的库文件就自动添加完毕。
后面就是打包形成安装包了。QT官方推荐了3种软件(https://qt-project.org/wiki/BuildingQtInstallers+&cd=1&hl=en&ct=clnk&gl=us),这里举例第二种软件NSIS说明使用方法。
下载安装NSIS。安装后启动界面如下:
最简单的方法是使用第二个选项Installer based on zip file(由zip文件构建安装包)
把刚才使用了windeployqt的整个目录打包成zip文件,用NSIS加载该zip文件,设置好默认安装目录,点generate就可以打包成安装包了。
win7平台下QT软件的打包与发布(部署与安装) 打包成安装包样式相关推荐
- win7平台下QT软件的打包与发布(部署与安装)
软件编写调试好之后最重要的就是打包和发布,这样软件才好传播. qt软件的打包发布一个难点是必备dll文件的识别.不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨 ...
- Blast本地化:window平台下blast软件的安装
1.对于windows 2000/xp 用户,下载blast-2.2.18-ia32-win32.exe安装文件 ftp://ftp.ncbi.nlm.nih.gov/blast/executable ...
- windows 平台下 qt 用qfile 访问带中文的路径或者带中文的名字的文件的解决方法
查过网上各种资料,全部都不行,例如setCode什么之类的,我也不知道为什么,可能还是需要多加研究,对于这类文件解决方法如下: if (QFile::exists(QString::fromLocal ...
- vue打包自动化发布部署
一.安装 scp2,用ssh链接到服务器上 npm install scp2 --save-dev 是否有控制台inquirer.js,没得在装一个 npm install inquirer 二.新建 ...
- windows平台下vlc编译
转自:http://jeremiah.blog.51cto.com/539865/114190 Jeremiah刚刚工作几个月,参与的第一个项目是与视频监控有关,分配给我的任务就是用开源的vl ...
- windows 本地搭建git仓库_Windows平台下Github远程仓库的搭建-Go语言中文社区
前言 Github是一个面向开源及私有软件项目的托管平台,拥有超过900万开发者用户,有众多的开源项目供研究者学习.还提供了很多项目管理功能,方便多终端同步管理项目.本文将介绍Windows平台下Gi ...
- windows平台下的mysql启动等基本操作
一.windows下启动和停止mysql ======================= mysql安装好之后,需要启动mysql服务,否则无法访问到. 当我们在windows平台下,且使用二进制分发 ...
- Angular项目打包到nginx部署过程
Angular项目打包到nginx部署过程 一. 打包Angluar ng build,会在项目文件夹下生成dist文件,里面是打包后的文件 二. 部署nginx 在nginx官网中下载nginx 把 ...
- QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)
QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64) 1.编译方式介绍: 2.动态编译方式打包发布QT程序: 方法一:手动复制 方法二:使用工具 问题& ...
最新文章
- unity3d游戏开发猜想——当程序猿老去
- java 获取jsp路径_java如何获取jsp页面上传的文件路径
- 有关AutoCompleteBox组件的研究[5][Final]_集成搜索引擎搜索建议(Search Suggestion)——Silverlight学习笔记[40]...
- CodeSite日志使用
- 单体多字系统以及多体并行系统
- 和nginx比较_谈谈Nginx和LVS各自的优缺点以及使用
- SQL 導入導出大全
- php http请求 微信,微信小程序封装http请求类的代码实例
- 熊猫学猿--sql查询
- 未来世界的幸存者-读书笔记
- wordpress插件_哪个是最好的WordPress画廊插件? (性能比较)
- matlab绘制椭球 参数方程,OpenGL进阶(四)-用参数方程绘制椭球体
- TorchScript (将动态图转为静态图)(模型部署)(jit)(torch.jit.trace)(torch.jit.script)
- 谈谈企业的数据工作!——企业的数据分析能力金字塔
- hp 800 g4 twr linux,【拆机】HP EliteDesk 800 G4 TWR—探究塔式机箱的秘密
- 对《A Fast Parallel Algorithm for Thinning Digital Patterns》一文的理解(上)
- 3DMAX 7 角色建模1 人头建模
- 计算机键盘锁不了怎么办,电脑键盘被锁,打字打不出来怎么处理,
- Linux磁盘空间进行扩容--增大卷组空间
- OpenNI SDK 2.0
热门文章
- windows环境elasticsearch设置登录用户名、密码
- 今天接到一个诈骗电话!!!原来有这么多的受害者
- 自己写一个数据库连接工具类
- R可视乎 | 散点图系列(2)
- wiredtiger java_为什么PostgreSQL比MongoDB还快之续篇(WiredTiger引擎)
- 关于CrystalReportsy 9(水晶报表9)在VS2017上的使用
- SVN客户端安装和服务器搭建
- C#中单例模式的实现
- leetcode-买卖股票/背包问题
- stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab