【工具】windeployqt 在windows + vscode环境下打包

目录

0.背景简介

1.windeployqt简介

2.打包具体过程

1)用vscode编译,生成Release文件夹(也有Debug文件夹,但是发布版本一般都是用Release)

2)此时可以看下Release文件夹内,一般是.exe可执行文件和一些.dll库

3)用windeployqt工具生成QT所需要的库

 4)将Release文件夹压缩为自定义的名字


0.背景简介

工作项目用的是vscode 、 c++、windows编写的代码,在这个环境下我想给项目打包(方便提供给他人使用),所以整理了简单流程

1.windeployqt简介

  • Windeployqt是一个用于在Windows系统下创建应用程序发布包的工具,它是Qt自带的工具。该工具主要用于解决应用程序在其他电脑上运行时,可能因为找不到库文件而报错的问题。它能够自动地将应用程序依赖的库和资源拷贝到应用程序所在目录,以确保程序的正常运行。
  • Windeployqt工具的主要功能是自动处理应用程序的依赖关系,确保程序在其他电脑上能够正常运行。它会自动拷贝应用程序所需的库文件和资源,避免了手动查找和添加这些文件的繁琐过程。同时,它还可以处理多国语言翻译文件(qm文件),这些文件是用于支持不同语言的翻译文件,可以根据需要进行保留或删除。

简单的概括,就是它能根据你的.exe程序,来补充QT所需要的库(注意:项目里自己的库它不会补充的,只能补充QT的库)

2.打包具体过程

1)用vscode编译,生成Release文件夹(也有Debug文件夹,但是发布版本一般都是用Release)

编译完成后(不能有报错),就可以看到项目的【bin】路径下有了Release的文件夹生成

2)此时可以看下Release文件夹内,一般是.exe可执行文件和一些.dll库

3)用windeployqt工具生成QT所需要的库

在Release文件夹内,按【shift + 鼠标右键】,用管理员权限打开终端

输入命令【windeployqt + 程序名】,这一步做的是将所需的库文件全都拷贝到当前文件夹内

我的程序名为【customer2.exe】,所以我的命令是【windeployqt .\customer2.exe】

此时会生成一些文件夹和QT的库(屏幕截屏不完整)

此时会发现,这个文件夹提供给其他人,在非开发环境下仍然不能打开.exe文件,原因是windeployqt这个命令只生成了.exe所需的QT库,但是项目自己用的库并没有,所以还需要手动将项目的库或文件拷入这个文件夹内

比如我拷入了一些配置文件

 4)将Release文件夹压缩为自定义的名字

即可提供给他人使用了

其他人只要在测试机上解压文件包、双击.exe即可唤出程序

--END--

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】Java函数式编程03 Stream流-终结操作

书接上回 3.3.3 终结操作 3.3.3.1 forEach 对集合的每一个元素进行处理 接触很多了不赘述 3.3.3.2 count 用来获取当前流中的元素的个数 比如,打印出所有作家的作品的总数 System.out.println(authors.stream().flatMap(author -> author.getBooks().stre…

Linux安装Python3.12.0

我们这里按照最新的Python3.12.0为示例 下载源文件。 wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz解压。 tar -zxvf Python-3.12.0.tgz进入文件夹。 cd Python-3.12.0指定安装目录。 ./configure --prefix/usr/local/python3.12/编译,把…

文献研读|Prompt窃取与保护综述

本文介绍与「Prompt窃取与保护」相关的几篇工作。 目录 1. Prompt Stealing Attacks Against Text-to-Image Generation Models(PromptStealer)2. Hard Prompts Made Easy: Gradient-Based Discrete Optimization for Prompt Tuning and Discovery&#…

汽车零配件装配产线中使用RFID技术和不使用RFID技术的优缺点

汽车零配件装配产线中使用RFID技术和不使用RFID技术的优缺点 RFID(射频识别技术)是非接触式自动识别技术,经常被使用于工业制造、物流管理、仓储物品盘点等领域。我们聊一聊在汽车零配件装配产线中使用和不使用RFID技术的优缺点 在汽车零配件装配线使用RFID技术可以…

Java解决数组的度问题

Java解决数组的度问题 01 题目 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入&…

.NetCore NPOI 读取excel内容及单元格内图片

由于数据方提供的数据在excel文件中不止有文字内容还包含图片信息,于是编写相关测试代码,读取excel文件内容及图片信息. 本文使用的是 NPOI-2.6.2 版本,此版本持.Net4.7.2;.NetStandard2.0;.NetStandard2.1;.Net6.0。 测试文档内容&#xf…

[足式机器人]Part4 南科大高等机器人控制课 CH11 Bascis of Optimization

本文仅供学习使用 本文参考: B站:CLEAR_LAB 笔者带更新-运动学 课程主讲教师: Prof. Wei Zhang 课程链接 : https://www.wzhanglab.site/teaching/mee-5114-advanced-control-for-robotics/ 南科大高等机器人控制课 Ch11 Bascis o…

前端axios与python库requests的区别

当涉及到发送HTTP请求时,Axios和Python中的requests库都是常用的工具。下面是它们的详细说明: Axios: Axios是一个基于Promise的HTTP客户端,主要用于浏览器和Node.js环境中发送HTTP请求。以下是Axios的一些特点和用法&#xff1…

Python获取指定文件夹中的所有文件名脚本

1.获取指定文件夹中的所有文件名 要获取指定文件夹中的所有文件名,您可以使用 os.listdir 函数来列出文件夹中的所有文件和文件夹,然后使用 os.path.isfile 函数来过滤出仅为文件的项。示例代码: import osdef get_file_names(folder_path)…

linux 中 ext2文件系统实现

ext2文件系统结构 图片的svg下载链接(图中关于buffer的部分,上下两部分是重复的,是从不同维度下看的buffer结构) linux内核本身不提供ext2文件系统的格式化功能,可以参考busybox中对mkfs.ext2的实现(mkfs.…

sheng的学习笔记-【中】【吴恩达课后测验】Course 4 -卷积神经网络 - 第二周测验

课程4_第2周_测验题 目录 第一题 1.在典型的卷积神经网络中,随着网络的深度增加,你能看到的现象是? A. 【  】 n H n_H nH​和 n W n_W nW​增加,同时 n C n_C nC​减少 B. 【  】 n H n_H nH​和 n W n_W nW​减少&#x…

【论文笔记】Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks

论文地址:Run, Dont Walk: Chasing Higher FLOPS for Faster Neural Networks 代码地址:https://github.com/jierunchen/fasternet 该论文主要提出了PConv,通过优化FLOPS提出了快速推理模型FasterNet。 在设计神经网络结构的时候&#xff…

性能优化,让用户体验更加完美(渲染层面)

前言 上一篇我们已经围绕“网络层面”探索页面性能优化的方案,接下来本篇围绕“浏览器渲染层面”继续开展探索。正文开始前,我们思考如下问题: 浏览器渲染页面会经过哪几个关键环节?“渲染层面”的优化从哪几方面着手&#xff1f…

初试Kafka

Kafka 是一个分布式流处理平台,通常用作消息中间件,它可以处理大规模的实时数据流。以下是从零开始使用 Kafka 作为消息中间件的基本教程: 步骤 1: 下载和安装 Kafka 访问 Apache Kafka 官方网站:Apache Kafka下载最新的 Kafka …

【Redis】一文掌握Redis原理及常见问题

Redis是基于内存数据库,操作效率高,提供丰富的数据结构(Redis底层对数据结构还做了优化),可用作数据库,缓存,消息中间件等。如今广泛用于互联网大厂,面试必考点之一,本文…

2022年山东省职业院校技能大赛高职组云计算赛项试卷第三场-公有云

2022年山东省职业院校技能大赛高职组云计算赛项试卷 目录 2022年职业院校技能大赛高职组云计算赛项试卷 【赛程名称】云计算赛项第三场-公有云 【任务1】公有云服务搭建[10分] 【适用平台】华为云 【题目1】私有网络管理[0.5分] 【题目2】云实例管理[0.5分] 【题目3】数…

什么是 MVVM?

Model–View–ViewModel (MVVM) 是一个软件架构设计模式,由微软 WPF 和 Silverlight 的架构师 Ken Cooper 和 Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。 由 John Gossman(同样也是 WPF 和 Silverlight…

.NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布

作者: Jon Galloway - Principal Program Manager, .NET Community Team Mehul Harry - Product Marketing Manager, .NET, Azure Marketing 排版:Alan Wang .NET Conf 2023 是有史以来规模最大的 .NET 会议,来自全球各地的演讲者进行了 100 …

设计模式-注册模式

设计模式专栏 模式介绍模式特点应用场景注册模式和单例模式的区别代码示例Java实现注册模式Python实现注册模式 注册模式在spring中的应用 模式介绍 注册模式是一种设计模式,也称为注册树或注册器模式。这种模式将类的实例化和创建分离开来,避免在应用程…

【广州华锐互动】VR科技科普展厅平台:快速、便捷地创建出属于自己的虚拟展馆

随着科技的不断进步,虚拟现实(VR)技术已经在许多领域取得了显著的成果。尤其是在展馆设计领域,VR科技科普展厅平台已经实现了许多令人瞩目的新突破。 VR科技科普展厅平台是广州华锐互动专门为企业和机构提供虚拟展馆设计和制作的在线平台。通过这个平台&…