返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt使用windeployqt工具实现程序打包发布方法
  • 559
分享到

Qt使用windeployqt工具实现程序打包发布方法

2024-04-02 19:04:59 559人浏览 独家记忆
摘要

目录1. Qt Widgets Application 2.Qt Quick ApplicationQt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。

以官方 Qt 5.4.0+MinGW 开发环境为例,windeployqt工具在 %QTDIR%\Qt5.4.0\5.4\mingw491_32\bin 目录下,其中 QTDIR 是 Qt 的安装目录,是环境变量。

在集成开发环境 QtCreator 中可选择 “Qt Widgets Application” 或 “Qt Quick Application” 两种方式生成图形界面应用程序。

下面分别介绍这两种方式创建应用的发布方式。

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
然后使用 Qt安装目录(如D:\Qt\5.15.0\msvc2019\bin)的windeployqt 工具命令:D:\Qt\5.15.0\msvc2019\bin\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 文件夹里的东西很多,看不懂就不要删,老老实实打包发布就行了。

上面是最简单的程序发布,实际复杂程序可能还带一些图片文件、数据库文件、配置文件之类的,可以按自己需要添加这些文件到发布文件夹里面。

到此这篇关于Qt使用windeployqt工具实现程序打包发布方法的文章就介绍到这了,更多相关Qt程序打包发布内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Qt使用windeployqt工具实现程序打包发布方法

本文链接: https://lsjlt.com/news/156057.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Qt使用windeployqt工具实现程序打包发布方法
    目录1. Qt Widgets Application 2.Qt Quick ApplicationQt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 ...
    99+
    2024-04-02
  • Qt如何使用windeployqt工具实现程序打包发布
    这篇文章主要介绍了Qt如何使用windeployqt工具实现程序打包发布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Qt 官方开发环境使用的动态链接库方式,在发布生成的ex...
    99+
    2023-06-25
  • Qt5.9程序打包发布的实现
    目录编译工程运行windeployqt添加必要的库遇到的一个问题(Windows平台)Qt编译的程序如何在其他没有安装Qt的电脑上运行呢,本文将告诉你答案 编译工程 这里拿官方的一个...
    99+
    2024-04-02
  • 用 Python 实现批量打包程序的工具~
    最近看了一些大佬发的关于可视化打包工具auto-py-to-exe文章,auto-py-to-exe是基于pyinstaller,但相比于pyinstaller,它多了 GUI 界面。我自己也试了一下,感觉确实好用且方便,动动手指就能对程序...
    99+
    2023-05-14
    工具 Python 打包
  • 利用Python实现批量打包程序的工具
    目录程序调用cmd命令os.system()os.popen()subprocess.run()程序实现GUI界面设计逻辑设计打包函数最近看了一些大佬发的关于可视化打包工具auto-...
    99+
    2024-04-02
  • 使用jenkins一键打包发布vue项目的实现
    目录jenkins的安装安装更换端口号(默认运行在8080端口)基础配置发布vue项目安装插件-nodejs配置nodejs插件创建任务jenkins的安装 Jenkins是一款开源...
    99+
    2024-04-02
  • PHP应用程序的打包:使用Bash脚本还是其他工具?
    在开发PHP应用程序时,我们通常需要将代码打包为一个可执行文件或者一个压缩包,以便于部署和分发。而在打包过程中,我们需要考虑许多因素,比如文件结构、依赖关系、版本管理等。那么,我们应该使用什么工具来打包我们的PHP应用程序呢? 在这篇文章...
    99+
    2023-11-06
    linux 打包 bash
  • K8s部署发布Golang应用程序的实现方法
    目录创建dockerfile 打包并且推送 创建namespace 创建deployment 创建service 创建ingress 创建hpa alertGo程序可以参考上篇文章,...
    99+
    2024-04-02
  • 使用pyinstaller打包django的方法实现
    目录Step 1: 生成spec文件Step 2: 使用pyinstaller 构建可执行文件虽然django项目我们一般通过部署服务器进行发布,但是也有些情况,可能就是一个小小的数...
    99+
    2024-04-02
  • Python 容器化打包:为什么它是现代应用程序开发的必备工具?
    随着云计算技术的迅猛发展,容器化技术已经成为了现代应用程序开发中不可或缺的一部分。作为一种轻量级、可移植的技术,容器化可以帮助开发人员快速构建、部署和管理应用程序。而在这方面,Python 的容器化打包工具无疑是最受欢迎的之一。 Pyth...
    99+
    2023-09-25
    打包 容器 响应
  • Java数据开发辅助工具Docker与普通程序使用方法
    目录介绍需求背景程序的使用方法Docker 方式普通方式配置文件说明最后的话介绍 需求背景 有很多业务系统,他们的数据库是相互独立的,俗称数据孤岛,为了做数据统计分析,就需要把这些数...
    99+
    2024-04-02
  • MFC程序中使用QT开发界面的实现步骤
    目录添加QT依赖添加信号槽机制添加qt界面配置元编译过程一些问题的处理测试信号槽使用qt designer 设计界面如果你有一个现成的MFC项目在做维护,但是你厌倦了使用MFC繁琐的...
    99+
    2024-04-02
  • 有哪些常用的 Java 打包工具和 NPM 包管理工具?如何在编程算法中使用它们?
    Java 打包工具和 NPM 包管理工具在现代软件开发中扮演着重要的角色。Java 开发人员通常使用 Maven 或 Gradle 进行项目构建和依赖管理,而 Node.js 开发人员则使用 NPM 进行包管理。在本文中,我们将讨论这些工具...
    99+
    2023-07-31
    打包 npm 编程算法
  • Linux上打包PHP应用程序的最佳实践:使用Bash脚本还是其他工具?
    随着PHP应用程序的不断发展,如何在Linux上打包PHP应用程序成为了一个非常重要的问题。常见的打包工具有Bash脚本、Phar、Docker等。那么,使用Bash脚本还是其他工具呢?本文将从实际案例出发,探讨打包PHP应用程序的最佳实...
    99+
    2023-11-06
    linux 打包 bash
  • Golang环境搭建、打包和工具链使用的方法是什么
    今天小编给大家分享一下Golang环境搭建、打包和工具链使用的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、环...
    99+
    2023-07-06
  • Bash 工具与 PHP 打包:如何实现异步编程的高效并发执行?
    随着互联网的不断发展,越来越多的应用程序开始采用异步编程来提高程序的并发性能。在 Linux 系统中,Bash 工具是一种强大的脚本语言,而 PHP 则是一种流行的编程语言,二者都可以用来实现异步编程。本文将介绍如何使用 Bash 工具和...
    99+
    2023-06-22
    打包 异步编程 bash
  • jenkins配置golang 代码工程自动发布的实现方法
    目录前沿一、在jenkins宿主机上配置go环境;1、安装go;2、配置环境变量3、验证环境是否可用二、jenkis上配置项目1、jks上新建项目2、“源码管理&rdqu...
    99+
    2024-04-02
  • 使用mysqldump工具实现备份mysql命令方法
    下面一起来了解下使用mysqldump工具实现备份mysql命令方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望使用mysqldump工具实现备份mysql命令方法这篇短内容是你想要的。mysqldu...
    99+
    2024-04-02
  • 使用AJAX工具实现调用mysql数据库方法
    下面一起来了解下使用AJAX工具实现调用mysql数据库方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望使用AJAX工具实现调用mysql数据库方法这篇短内容是你想要的。    &...
    99+
    2024-04-02
  • java使用main方法如何实现打包成jar
    java使用main方法如何实现打包成jar?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java打包成jarjar -cvf [jar包的名字] [需要打包的文件]...
    99+
    2023-05-31
    java jar main方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作