返回顶部
首页 > 资讯 > 精选 >Qt如何使用windeployqt工具实现程序打包发布
  • 828
分享到

Qt如何使用windeployqt工具实现程序打包发布

2023-06-25 12:06:58 828人浏览 独家记忆
摘要

这篇文章主要介绍了Qt如何使用windeployqt工具实现程序打包发布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Qt 官方开发环境使用的动态链接库方式,在发布生成的ex

这篇文章主要介绍了Qt如何使用windeployqt工具实现程序打包发布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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 程序:

Qt如何使用windeployqt工具实现程序打包发布

生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径: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

Qt如何使用windeployqt工具实现程序打包发布

然后可以在 D:\hellomw 文件夹里看到 windeployqt 工具自动复制的插件文件夹和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。
把 D:\hellomw 文件夹 打包就可以发布了,不用自己一个个找 dll 文件了。D:\hellomw 文件夹里的qm文件是多国语言翻译文件,不需要可以删了,其他的都保留。

2.Qt Quick Application

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

Qt如何使用windeployqt工具实现程序打包发布

然后找到项目的构建目录,比如项目源码目录 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

Qt如何使用windeployqt工具实现程序打包发布

注意不要跟完全一样照抄上条命令!–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工具实现程序打包发布”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

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

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

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

猜你喜欢
  • Qt如何使用windeployqt工具实现程序打包发布
    这篇文章主要介绍了Qt如何使用windeployqt工具实现程序打包发布,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Qt 官方开发环境使用的动态链接库方式,在发布生成的ex...
    99+
    2023-06-25
  • Qt使用windeployqt工具实现程序打包发布方法
    目录1. Qt Widgets Application 2.Qt Quick ApplicationQt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 ...
    99+
    2024-04-02
  • Qt5.9程序打包发布的实现
    目录编译工程运行windeployqt添加必要的库遇到的一个问题(Windows平台)Qt编译的程序如何在其他没有安装Qt的电脑上运行呢,本文将告诉你答案 编译工程 这里拿官方的一个...
    99+
    2024-04-02
  • Qt5.9程序如何打包发布
    这篇文章主要介绍了Qt5.9程序如何打包发布的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Qt5.9程序如何打包发布文章都会有所收获,下面我们一起来看看吧。编译工程这里拿官方的一个例程作为目标工程,选择 Rel...
    99+
    2023-06-30
  • 用 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
  • 如何使用node开发一款图集打包工具
    这篇文章主要为大家展示了“如何使用node开发一款图集打包工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用node开发一款图集打包工具”这篇文章吧。比...
    99+
    2024-04-02
  • node中如何使用pkg打包工具
    这篇文章将为大家详细讲解有关node中如何使用pkg打包工具,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。命令行打包pkg -t nod...
    99+
    2024-04-02
  • Linux下如何使用tarball打包工具
    这篇文章主要介绍了Linux下如何使用tarball打包工具,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。tarball是linux下最方便的打包工具,是以tar这个指令来打...
    99+
    2023-06-27
  • 如何在 Go 中使用 PATH 打包并发程序?
    Go 语言是一种现代化的编程语言,它在并发编程方面非常出色。而在并发编程中,如何使用 PATH 打包程序是一个非常重要的话题。在本文中,我们将探讨如何在 Go 中使用 PATH 打包并发程序。 什么是 PATH? PATH 是 Go 语言中...
    99+
    2023-10-01
    path 打包 并发
  • Bash 工具与 PHP 打包:如何实现异步编程的高效并发执行?
    随着互联网的不断发展,越来越多的应用程序开始采用异步编程来提高程序的并发性能。在 Linux 系统中,Bash 工具是一种强大的脚本语言,而 PHP 则是一种流行的编程语言,二者都可以用来实现异步编程。本文将介绍如何使用 Bash 工具和...
    99+
    2023-06-22
    打包 异步编程 bash
  • 如何使用PyInstaller打包Python程序
    本篇文章为大家展示了如何使用PyInstaller打包Python程序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用PyInstaller打包Python程序PyInstaller介绍:&nbs...
    99+
    2023-06-02
  • 如何使用node开发并发布一个cli工具
    这篇文章主要为大家展示了“如何使用node开发并发布一个cli工具”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用node开发并发布一个cli工具”这篇文...
    99+
    2024-04-02
  • 前端的轻量打包工具gulp如何使用
    今天小编给大家分享一下前端的轻量打包工具gulp如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一. 安装Node和g...
    99+
    2023-07-04
  • 使用jenkins一键打包发布vue项目的实现
    目录jenkins的安装安装更换端口号(默认运行在8080端口)基础配置发布vue项目安装插件-nodejs配置nodejs插件创建任务jenkins的安装 Jenkins是一款开源...
    99+
    2024-04-02
  • PHP应用程序的打包:使用Bash脚本还是其他工具?
    在开发PHP应用程序时,我们通常需要将代码打包为一个可执行文件或者一个压缩包,以便于部署和分发。而在打包过程中,我们需要考虑许多因素,比如文件结构、依赖关系、版本管理等。那么,我们应该使用什么工具来打包我们的PHP应用程序呢? 在这篇文章...
    99+
    2023-11-06
    linux 打包 bash
  • Python 如何实现容器化打包应用程序?
    随着云计算、DevOps 和容器化技术的兴起,越来越多的应用程序开始采用容器化打包和部署。Python 作为一种广泛使用的编程语言,也可以通过容器化技术来实现应用程序的打包和部署。 本文将介绍 Python 如何实现容器化打包应用程序,并...
    99+
    2023-09-25
    打包 容器 响应
  • 如何使用jenkins一键打包发布vue项目
    这篇文章主要介绍如何使用jenkins一键打包发布vue项目,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!jenkins的安装Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部...
    99+
    2023-06-15
  • 如何使用Docker部署打包发布springboot项目
    这篇文章将为大家详细讲解有关如何使用Docker部署打包发布springboot项目,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言从安装docker到多种方式打包发布,编译,镜像,容器等问题,遇到种种...
    99+
    2023-06-29
  • 【Python】项目打包:如何使用PyInstaller打包python程序(exe)
    文章目录 前言一、PyInstaller二、安装PyInstaller库三、PyInstaller的使用1.命令行+参数2.py文件+参数2.1配置文件config.py2.2打包文件pyTe...
    99+
    2023-09-02
    python 开发语言 qt5
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作