目录
1)用vscode编译,生成Release文件夹(也有Debug文件夹,但是发布版本一般都是用Release)
2)此时可以看下Release文件夹内,一般是.exe可执行文件和一些.dll库
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--