采用动态编译的方式发布程序,即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. Java反射xml数据类

    我们做自己的自动化测试.遇到使用xml存储数据,然而,这些数据可以被封装成一个类.将数据传递.通过下面的实际例子,展示给大家.请欣赏. 第一步:xml数据存储将被使用 第二步:读取xml文件的方法 第 ...

  2. httpclient htmlunit下载单个文件

    httpclient public class Download { public static void main(String[] args) throws ClientProtocolExcep ...

  3. Web自动化测试(全网最给力自动化教程)

    http://www.cnblogs.com/zidonghua/p/7430083.html python+selenium自动化软件测试(第2章):WebDriver API 欢迎您来阅读和练手! ...

  4. Android 对.properties文件的读取

    /** * * @param filepath .properties文件的位置 */ public void checkFileExists(String filepath){ File file ...

  5. Ubuntu server使用命令行上板VPNclient

    Ubuntu server使用命令行上板VPNclient VPN,虚拟专用网络,这个技术还是非常有用的.近期笔者參与的项目中就使用上了VPN,大概情况是这种.有两个开发团队,在异地,代码服务器在深圳 ...

  6. Objective-C 数据类型 (一)

    数据类型分为三类:基本数据类型,对象类型,id类型. 基本数据类型:int ,float double char 对象类型:类,指针对象,协议 id类型:可以表示对象类型(在表示对象类型的时候 不需要 ...

  7. Winsock出错引起的断网

    背景 实验室有二十来台 PC 机,30+的服务器集群,网络拓扑比较复杂.简单地说,有网关连着校网,校网无法直接访问学校外的网络,只能通过拨 vpn 来实现外网访问.而校网最近也不稳定,时常断网. 今天 ...

  8. 第1讲:The nature of Testing--測试的本质

    *********声明:本系列课程为Cem Kanner的软件黑盒測试基础的笔记版************** What's A COMPUTER PROGRAM? Textbooks often d ...

  9. 常见的选择<数据源协议,委托协议>(IOS发展)

    -常见的选择必须满足这两个协议,约定实施.一个为数据源协议 -托付协议负责控制控件UI.事件响应, 实现可选 -数据源协议负责控件与应用数据模型的桥梁,一般必须实现 @interface ViewCo ...

  10. modern-cpp-features

    C++17/14/11 Overview Many of these descriptions and examples come from various resources (see Acknow ...