软件编写调试好之后最重要的就是打包和发布,这样软件才好传播。

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文件至该目录。运行时命令行提示如下

[plain] view plaincopy
  1. D:\TVS\Qt\LGTVSerialControl>windeployqt terminal.exe --release
  2. D:\TVS\Qt\LGTVSerialControl\terminal.exe 32 bit, release executable
  3. Adding Qt5Svg for qsvgicon.dll
  4. Direct dependencies: Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
  5. All dependencies   : Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
  6. To be deployed     : Qt5Core Qt5Gui Qt5SerialPort Qt5Svg Qt5Widgets
  7. Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not s
  8. et.
  9. Updating icuin53.dll.
  10. Updating icuuc53.dll.
  11. Updating icudt53.dll.
  12. Updating Qt5Core.dll.
  13. Updating Qt5Gui.dll.
  14. Updating Qt5SerialPort.dll.
  15. Updating Qt5Svg.dll.
  16. Updating Qt5Widgets.dll.
  17. Creating directory iconengines.
  18. Updating qsvgicon.dll.
  19. Creating directory imageformats.
  20. Updating qdds.dll.
  21. Updating qgif.dll.
  22. Updating qicns.dll.
  23. Updating qico.dll.
  24. Updating qjp2.dll.
  25. Updating qjpeg.dll.
  26. Updating qmng.dll.
  27. Updating qsvg.dll.
  28. Updating qtga.dll.
  29. Updating qtiff.dll.
  30. Updating qwbmp.dll.
  31. Updating qwebp.dll.
  32. Creating directory platforms.
  33. Updating qwindows.dll.
  34. Creating qt_ca.qm...
  35. Creating qt_cs.qm...
  36. Creating qt_de.qm...
  37. Creating qt_fi.qm...
  38. Creating qt_hu.qm...
  39. Creating qt_it.qm...
  40. Creating qt_ja.qm...
  41. Creating qt_ru.qm...
  42. Creating qt_sk.qm...
  43. Creating qt_uk.qm...
  44. 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软件的打包与发布(部署与安装) 打包成安装包样式相关推荐

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

    软件编写调试好之后最重要的就是打包和发布,这样软件才好传播. qt软件的打包发布一个难点是必备dll文件的识别.不少日志说用dependencyWalker,今天我试了一下发现查找dll不完全,比如辨 ...

  2. Blast本地化:window平台下blast软件的安装

    1.对于windows 2000/xp 用户,下载blast-2.2.18-ia32-win32.exe安装文件 ftp://ftp.ncbi.nlm.nih.gov/blast/executable ...

  3. windows 平台下 qt 用qfile 访问带中文的路径或者带中文的名字的文件的解决方法

    查过网上各种资料,全部都不行,例如setCode什么之类的,我也不知道为什么,可能还是需要多加研究,对于这类文件解决方法如下: if (QFile::exists(QString::fromLocal ...

  4. vue打包自动化发布部署

    一.安装 scp2,用ssh链接到服务器上 npm install scp2 --save-dev 是否有控制台inquirer.js,没得在装一个 npm install inquirer 二.新建 ...

  5. windows平台下vlc编译

    转自:http://jeremiah.blog.51cto.com/539865/114190     Jeremiah刚刚工作几个月,参与的第一个项目是与视频监控有关,分配给我的任务就是用开源的vl ...

  6. windows 本地搭建git仓库_Windows平台下Github远程仓库的搭建-Go语言中文社区

    前言 Github是一个面向开源及私有软件项目的托管平台,拥有超过900万开发者用户,有众多的开源项目供研究者学习.还提供了很多项目管理功能,方便多终端同步管理项目.本文将介绍Windows平台下Gi ...

  7. windows平台下的mysql启动等基本操作

    一.windows下启动和停止mysql ======================= mysql安装好之后,需要启动mysql服务,否则无法访问到. 当我们在windows平台下,且使用二进制分发 ...

  8. Angular项目打包到nginx部署过程

    Angular项目打包到nginx部署过程 一. 打包Angluar ng build,会在项目文件夹下生成dist文件,里面是打包后的文件 二. 部署nginx 在nginx官网中下载nginx 把 ...

  9. QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)

    QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64) 1.编译方式介绍: 2.动态编译方式打包发布QT程序: 方法一:手动复制 方法二:使用工具 问题& ...

最新文章

  1. unity3d游戏开发猜想——当程序猿老去
  2. java 获取jsp路径_java如何获取jsp页面上传的文件路径
  3. 有关AutoCompleteBox组件的研究[5][Final]_集成搜索引擎搜索建议(Search Suggestion)——Silverlight学习笔记[40]...
  4. CodeSite日志使用
  5. 单体多字系统以及多体并行系统
  6. 和nginx比较_谈谈Nginx和LVS各自的优缺点以及使用
  7. SQL 導入導出大全
  8. php http请求 微信,微信小程序封装http请求类的代码实例
  9. 熊猫学猿--sql查询
  10. 未来世界的幸存者-读书笔记
  11. wordpress插件_哪个是最好的WordPress画廊插件? (性能比较)
  12. matlab绘制椭球 参数方程,OpenGL进阶(四)-用参数方程绘制椭球体
  13. TorchScript (将动态图转为静态图)(模型部署)(jit)(torch.jit.trace)(torch.jit.script)
  14. 谈谈企业的数据工作!——企业的数据分析能力金字塔
  15. hp 800 g4 twr linux,【拆机】HP EliteDesk 800 G4 TWR—探究塔式机箱的秘密
  16. 对《A Fast Parallel Algorithm for Thinning Digital Patterns》一文的理解(上)
  17. 3DMAX 7 角色建模1 人头建模
  18. 计算机键盘锁不了怎么办,电脑键盘被锁,打字打不出来怎么处理,
  19. Linux磁盘空间进行扩容--增大卷组空间
  20. OpenNI SDK 2.0

热门文章

  1. windows环境elasticsearch设置登录用户名、密码
  2. 今天接到一个诈骗电话!!!原来有这么多的受害者
  3. 自己写一个数据库连接工具类
  4. R可视乎 | 散点图系列(2)
  5. wiredtiger java_为什么PostgreSQL比MongoDB还快之续篇(WiredTiger引擎)
  6. 关于CrystalReportsy 9(水晶报表9)在VS2017上的使用
  7. SVN客户端安装和服务器搭建
  8. C#中单例模式的实现
  9. leetcode-买卖股票/背包问题
  10. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab