当前位置: 首页 > news >正文

【工具】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.lryc.cn/news/269814.html

相关文章:

  • 跟着LearnOpenGL学习12--光照贴图
  • DotNet 命令行开发
  • hyperf console 执行
  • 第一篇 设计模式引论 - 探索软件设计的智慧结晶
  • HBase基础知识(六):HBase 对接 Hive
  • Java连接Mysql报错:javax.net.ssl.SSLException: Received fatal alert: internal_error
  • Mixtral 8*7B + Excel + Python 超强组合玩转数据分析
  • 深入浅出理解Web认证:Session、Cookie与Token
  • 智慧零售技术探秘:关键技术与开源资源,助力智能化零售革新
  • 2012年第一届数学建模国际赛小美赛B题大规模灭绝尚未到来解题全过程文档及程序
  • macos管理本地golang的多版本sdk
  • count distinct在spark中的运行机制
  • 创建加密分区或者文件
  • STL——遍历算法
  • C语言经典算法【每日一练】20
  • Linux磁盘阵列
  • 本地网络禁用了在哪里开启?
  • [mysql 基于C++实现数据库连接池 连接池的使用] 持续更新中
  • 【Flink SQL API体验数据湖格式之paimon】
  • idea导入spring-framework异常:error: cannot find symbol
  • Unity坦克大战开发全流程——开始场景——开始界面
  • 【SpringCloud】从实际业务问题出发去分析Eureka-Server端源码
  • Java 代理模式
  • 【Java干货教程】JSON,JSONObject,JSONArray类详解
  • 2023年高级软考系统架构师考题参考
  • 【c语言】飞机大战(1)
  • 关于 K8s 的一些基础概念整理
  • Node.js-fs、path、http模块
  • CentOS 安装WebLogic
  • Linux命令的操作练习