采用动态编译的方式发布程序,即release版本。

找齐动态依赖库(.dll)

方法一

  用Dependency Walker这个工具去找少了那些dll,不过这个工具也不怎么靠谱,一个比较靠谱但是有点稍微麻烦的方法就是拿一台没有装QT环境的电脑,然后将编译出的可执行文件放到这台电脑上去执行,根据提示找到相应的dll,并拷贝过来,不过对于一般的应用程序,下面的dll就够了: 
 
  其中platforms文件夹中是跟平台相关的,这里只在windows平台运行,则这个文件夹下放qwindows.dll就够了。

方法二

  利用Qt Creator自带的windeployqt 工具,是非常的方便的,只要新建一个testname,将release版本的可执行文件xxx.exe放到这个新建文件夹testname中,然后打开在开始菜单—>Qt 5.3—>MinGW 4.8 (32-bit)—>Qt 5.3 for Desktop (MinGW 4.8 32 bit)的命令窗口: 

  在命令窗口中输入:windeployqt xxx.exe,回车。即可将所有需要的dll动态库文件拷贝到testname文件夹中,一下子就ok了。 
 

发布应用工具

 &emsp安装两个工具:

NSIS编译器
NSIS Editor

发布应用

  打开HM NIS Edit软件,新建脚本:向导(W):

 
  下面的看着提示都知道的: 
 
 
 
  上面的授权文件(L),就是平时在软件安装时,第一个界面出现的“是否接受协议显示的内容”,这个添加自己的licence.txt就好了。 
 
 
  注:上图中目的目录,如这里有个platforms文件中有个文件,那么在添加这个qwindows.dll文件时,需要将目的目录设为“$INSTDIR\platforms”。 
 
 
 
 
  保存脚本文件。编译脚本。最后点击编译出的安装执行文件: 
 
 
  这个界面就很熟悉了。

后期学期

  这个发布的实现了,但是如果想定制发布程序的话,还要学习NSIS,就可以定制出漂亮的发布程序了。

http://blog.csdn.net/freeape/article/details/47363297

QT5---应用程序发布(使用windeployqt和NSIS)的更多相关文章

  1. qt5.5程序打包发布以及依赖【转】

    玩qt5也有一段时间了,惭愧的是一直没有好好的发布过程序,因为写的都是小程序没啥需要用到发布,而且qt也说不上很熟悉,本来打算到基本掌握qt之后再来研究研究怎么打包程序,最近晚上的空闲时间多了,闲着也 ...

  2. Qt5 项目程序打包发布 详细教程

    概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件. ...

  3. Qt+VS2015应用程序发布

    本文以Qt 5.9.1+VS2015编译环境为例介绍应用程序发布流程,也适用于Qt+mingw的情况. 1. Qt依赖库 将需要发布的exe(如test.exe),放到单独的目录. 在"开始 ...

  4. Qt之程序发布以及打包成exe安装包

    一.简述 Qt项目开发完成之后,需要打包发布程序,而因为用户电脑上没有Qt配置环境,所以需要将release生成的exe文件和所依赖的dll文件复制到一个文件夹中,然后再用 Inno Setup打包工 ...

  5. qt 程序发布

    Qt 程序发布步骤: 注意5.5 以后不再支持 WinXP 1) dll 抽取工具 windeployqt.exe 2) Windows脚本 实例: D:\Qt\Qt5.5.0\5.5\mingw49 ...

  6. Qt 程序发布以及打包成exe安装包

    一.简述 Qt 项目开发完成之后,需要打包发布程序,而因为用户电脑上没有 Qt 配置环境,所以需要将 release 生成的 exe 文件和所依赖的 dll 文件复制到一个文件夹中,然后再用 Inno ...

  7. 将Vuforia程序发布到Windows10系统的基本流程

    最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ------------------------------------------ ...

  8. 发布App,赢iPad mini + 美金100$ - Autodesk Exchange 应用程序发布竞赛

    开发牛人们,送你个iPad mini要不要,Autodesk Exchange应用程序发布竞赛开始了. 摘要版: 在2014年9月30日午夜前提交到Autodesk Exchange 应用程序商店上, ...

  9. 使用Oracle ODP.NET 11g的.NET程序发布方法

    使用Oracle ODP.NET 11g的.NET程序发布方法 内容摘要:ODP.NET 11g是Oracle发布的供.NET程序访问Oracle数据库的ADO.NET组件,比微软自带的Oracle组 ...

随机推荐

  1. 新技能 get —— 五笔打字

    推荐一个图表记忆网站,五笔字根表图五笔字根表五笔输入法下载口诀五笔打字练习_查询: 1. 键盘的认识 键盘的版式就是那样设定的,主要是 26 个拉丁字母,分三排: QWERT(撇区), YUIOP(捺 ...

  2. 【23.33%】【hdu 5945】Fxx and game

    Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s ...

  3. htmlunit 模拟登录 无验证码

    1.模拟登录csdn,最开始的时候使用的是httpclient,网上的所有模拟登录csdn的版本都是找到lt/execution/event_id.连同用户名及密码 一起发送即可,但是目前的csdn的 ...

  4. Java 联系Oracle 数据库

    一般完成 import oracle.jdbc.driver.*; 会后声明,你会发现一个错误.然后,你需要: 一.该JDBC开车到classpath 两种方法.一是图形化,计算机-属性-高级设置-环 ...

  5. Formview单文档或对话框项目接受不到按键消息的解决办法

    当对话框或formview界面上有控件时,由于焦点在控件上,因此wm_char,wm_keydown等按键消息会被控件捕获,而导致对话框或formview无法接受该类按键消息.这时候通常的解决方法是在 ...

  6. 如何提高自己的java开发功底

    1.拥有扎实的基础和深刻理解OO原则 对于Java程序员,深刻理解Object Oriented Programming(面向对象编程)这一概念是必须的.没有OOPS的坚实基础,就领会不了像Java这 ...

  7. struts2 no extension(excludePattern)

    采用struts2 小伙伴非常希望更改或删除action扩展,本文将帮助你实现 struts2-core-2.3.16.jar , 下载链接: http://repo1.maven.org/maven ...

  8. Docker container 集装箱说明

    容器操作 使用 docker 命令行操作 docker 容器 启动容器 core@localhost ~ $ docker run Usage: docker run [OPTIONS] IMAGE ...

  9. negative binomial(Pascal) distribution —— 负二项式分布(帕斯卡分布)

    1. 定义 假设一串独立的伯努利实验(0-1,成功失败,伯努利实验),每次实验(trial)成功和失败的概率分别是 p 和 1−p.实验将会一直重复下去,直到实验失败了 r 次.定义全部实验中成功的次 ...

  10. C#中正则表达式使用介绍

    摘要:本文给出了在C#下利用正则表达式实现字符串搜索功能的方法,通过对.NET框架下的正则表达式的研究及实例分析,总结了正则表达式的元字符.规则.选项等. 关键字:正则表达式.元字符.字符串.匹配 1 ...