iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >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://www.lsjlt.com/news/156057.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt使用windeployqt工具实现程序打包发布方法
    目录1. Qt Widgets Application 2.Qt Quick ApplicationQt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 ...
    99+
    2022-11-12
  • Qt如何使用windeployqt工具实现程序打包发布
    这篇文章主要介绍了Qt如何使用windeployqt工具实现程序打包发布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Qt 官方开发环境使用的动态链接库方式,在发布生成的ex...
    99+
    2023-06-25
  • 用 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+
    2022-11-11
  • Python 容器化打包:为什么它是现代应用程序开发的必备工具?
    随着云计算技术的迅猛发展,容器化技术已经成为了现代应用程序开发中不可或缺的一部分。作为一种轻量级、可移植的技术,容器化可以帮助开发人员快速构建、部署和管理应用程序。而在这方面,Python 的容器化打包工具无疑是最受欢迎的之一。 Pyth...
    99+
    2023-09-25
    打包 容器 响应
  • K8s部署发布Golang应用程序的实现方法
    目录创建dockerfile 打包并且推送 创建namespace 创建deployment 创建service 创建ingress 创建hpa alertGo程序可以参考上篇文章,...
    99+
    2022-11-12
  • Java数据开发辅助工具Docker与普通程序使用方法
    目录介绍需求背景程序的使用方法Docker 方式普通方式配置文件说明最后的话介绍 需求背景 有很多业务系统,他们的数据库是相互独立的,俗称数据孤岛,为了做数据统计分析,就需要把这些数...
    99+
    2022-11-12
  • Linux上打包PHP应用程序的最佳实践:使用Bash脚本还是其他工具?
    随着PHP应用程序的不断发展,如何在Linux上打包PHP应用程序成为了一个非常重要的问题。常见的打包工具有Bash脚本、Phar、Docker等。那么,使用Bash脚本还是其他工具呢?本文将从实际案例出发,探讨打包PHP应用程序的最佳实...
    99+
    2023-11-06
    linux 打包 bash
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作