【工具】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--

相关推荐
爱就是恒久忍耐3 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
意法半导体STM323 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发
bloglin999993 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
天疆说3 天前
在 Ubuntu 的 VSCode 中配置 MATLAB
vscode·ubuntu·matlab
春日见4 天前
vscode的AI编程插件推荐:
大数据·ide·vscode·算法·机器学习·编辑器·ai编程
jieshenai4 天前
VScode sys.path,并使CTRL+左键可访问源码
ide·vscode·编辑器
qq_448011164 天前
VSCode环境搭建
ide·vscode·编辑器
qq_338432374 天前
VSCode Remote-SSH 远程 Windows Server 卡死的排查与解决
windows·vscode·ssh
console.log('npc')4 天前
Codex 桌面端接入 Headroom 压缩代理完整教程
前端·vscode
女神下凡5 天前
这是 Cursor(Composer) 的五种核心交互模式
服务器·人工智能·windows·vscode·microsoft