2019独角兽企业重金招聘Python工程师标准>>>

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,
如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。
因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。
以官方 Qt 5.4.0+MinGW 开发环境为例,
从开始菜单--》Qt 5.4.0--》5.4--》MinGW 4.9 (32-bit)--》Qt 5.4 for Desktop (MinGW 4.9 32 bit),可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。

集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:
Qt Widgets Application 和 Qt Quick Application。
下面分别介绍这两类exe 的发布方式。

1、Qt Widgets Application可执行程序发布方式
首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 hellomw。
然后以 Release 方式编译生成 exe 程序:

生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:
C:\QtPros\hellomw\
它的项目生成目录是
C:\QtPros\build-hellomw-Desktop_Qt_5_4_0_MinGW_32bit-Release\
进入这个文件夹,在进入它的子文件夹 release 里面,找到 hellomw.exe ,
将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到 
D:\hellomw\ 文件夹里面。

然后从开始菜单打开 Qt 命令行,输入命令 :
cd /d D:\hellomw
然后使用 windeployqt 工具命令:
windeployqt hellomw.exe

然后可以在 D:\hellomw 文件夹里看到 windeployqt 工具自动复制的插件文件夹
和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。

把 D:\hellomw 文件夹 打包就可以发布了,不用自己一个个找 dll 文件了。
D:\hellomw 文件夹里的qm文件是多国语言翻译文件,不需要可以删了,
其他的都保留。

2、Qt Quick Application发布方式
首先用 QtCreator 新建一个 Qt Quick Application 项目,直接用默认的项目模版,点击下一步生成项目,项目名字假定是 helloqml。
然后以 Release 方式编译生成 exe 程序:

然后找到项目的构建目录,比如项目源码目录 C:\QtPros\helloqml,
它的构建目录是:
C:\QtPros\build-helloqml-Desktop_Qt_5_4_0_MinGW_32bit-Release\
进入这个目录,再进入 release 子文件夹,找到 helloqml.exe ,
复制到一个新的单独的文件夹里面,比如 D:\helloqml\ 文件夹里面。

然后从开始菜单打开 Qt 命令行,进入D:\helloqml\文件夹:
cd /d D:\helloqml
然后使用 windeployqt 工具命令:
windeployqt helloqml.exe --qmldir C:\Qt\Qt5.4.0\5.4\mingw491_32\qml

注意不要跟烧包一样照抄上条命令,--qmldir 是指出 Qt 库里面的 qml 文件夹位置,
上面命令里 C:\Qt\Qt5.4.0 是 Qt 官方开发环境安装的文件夹,
C:\Qt\Qt5.4.0\5.4\mingw491_32 是Qt类库的目录(QTDIR),
因此使用的 --qmldir 后面写的是 C:\Qt\Qt5.4.0\5.4\mingw491_32\qml 
读者Qt环境安装路径不一样,要根据实际情况修改!

然后可以看到 D:\helloqml 文件夹里有一大堆文件,就是 QtQuick程序需要的依赖文件。
将整个 D:\helloqml 文件夹 打包就可以发布出去,在别的电脑上使用。

这个 D:\helloqml 文件夹里的东西很多,看不懂就不要删,老老实实打包发布就行了。

转载于:https://my.oschina.net/weiweiqiao/blog/501385

Qt官方开发环境生成的exe发布方式--使用windeployqt相关推荐

  1. Qt开发笔记(一):Qt+FFmpeg开发环境搭建以及工程模板

    原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/90 ...

  2. linux eclipse下qt开发环境搭建,Qt Eclipse开发环境的部署 上篇

    关于Qt  Eclipse的开F发,将会从不同的环境中区安装部署,分为上.中.篇,三篇文章来讲.Windows,Linux平台下安装使用eclipse + QT4.4.3开发环境,Windows,Li ...

  3. 建立Qt+VS2010开发环境

    简单建立Qt+VS2010开发环境 多天不关注Qt了,发现竟然又被digia收购了,也许是好事,digia计划将Qt应用到Android.iOS及Windows8平台上. 简单介绍下digia(来着网 ...

  4. Qt-4.6.3移植与Qt creator开发环境建立

    最近把Qt到开发环境建立了起来,以后打算多点时间在学习Qt上面,下面是我的移植与搭建过程,现在贴出来希望能对大家有点帮助..... 作者:顾文彪 博客:http://blog.chinaunix.ne ...

  5. Qt Symbian 开发环境安装

    Qt Symbian 开发环境安装 转自:悟道2011 cnblogs Qt for Symbian 的开发环境主要由三部分组成:基本工具;Symbian SDK;Qt for Symbian SDK ...

  6. Qt跨平台开发环境搭建

    Qt跨平台开发环境搭建 1.     背景介绍 Qt是一个跨平台的C++图形用户界面应用程序框架.它提供给应用程序开发者丰富的图形用户界面所需的所有功能.而且,Qt很容易扩展,并且允许真正地组件编程. ...

  7. 如何在Windows下搭建Qt安卓开发环境?

    一.导读 本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上 ...

  8. Windows单独安装QT及VS和QT联合开发环境安装

    Windows单独安装QT及VS和QT结合开发环境安装 Windows单独安装QT及VS和QT结合开发环境安装 一.前言 二.单独安装QT开发环境: 三.安装VS并配置QT环境变量: 四.给QT设置环 ...

  9. Qt/Embedded开发环境的的搭建(二)

    http://qt.nokia.com/products-cn/device/embedded-linux (QWS和QVFB上面网址的内容) 紧凑高效的视窗系统 (QWS) Qt构建在标准的API上 ...

最新文章

  1. C++11:Lambda表达式(匿名函数)理解
  2. 《软件观念革命——交互设计精髓》读书笔记(一)
  3. china-pub赠书啦,超值畅销书5本
  4. 【Linux 内核】进程管理 - 进程优先级 ② ( prio 调度优先级 | static_prio 静态优先级 | normal_prio 正常优先级 | rt_priority 实时优先级 )
  5. 搞懂这四个问题,企业数字化转型才可能成功
  6. VMware Workstation网络连接的三种方式原理详解 与 配置过程图解
  7. Scrapy-redis实现分布式爬取的过程与原理
  8. Java 8 StringJoiner
  9. GPU CUDA 经典入门指南
  10. ngix 创建新的网站
  11. 孙宇晨终于和巴菲特共进晚餐 还赠送数字币作为见面礼
  12. win10推荐的锁屏壁纸该怎么保存 win10休眠锁屏壁纸保存
  13. DOTween和iTween比较
  14. 华三路由器虚拟服务器设置,H3C vLNS系列虚拟L2TP网络服务器 配置指导-E0324-5W100...
  15. modbus模拟器基本使用
  16. 新浪php工程师面试题
  17. UPX3.95程序压缩命令及使用方法
  18. 2022年1024程序员节日纪念
  19. 浅夏,盈一眸清凉,捻一指馨香
  20. 导数和微分的区别与联系

热门文章

  1. 工厂方法模式与抽象工厂模式
  2. Java基础—8大数据类型
  3. Redis 是属于多线程还是单线程?
  4. 浅谈Git的基本工作流程与简单的Git命令
  5. 非UI线程下页面处理:view的postInvalidate和post对消息处理的差异化
  6. [BZOJ 2054]疯狂的馒头
  7. 随便聊一些编程开发工具
  8. JVM内存管理概述与android内存泄露分析
  9. ZOJ 3962:Seven Segment Display(思维)
  10. 计算机组成原理——指令流水线