QT项目打包步骤教程及问题解决

文章目录

  • 前言
  • 一、项目打包步骤
    • 1.准备工作
    • 2.为Qt生成的可执行程序(.exe)设置图标
    • 3.生成 .exe文件
    • 4.执行依赖导入
  • 问题
    • 问题1:Cannot open .:拒绝访问
    • 问题2:Unable to find dependent libraries of xxx\Anaconda\Library\bin\Qt6Core.dll :Cannot open 'xxx\Anaconda/Library/bin/Qt6Core.dll':
    • 问题3:Cannot find Visual Studio installation directory,VCINSTALLDIR is not set:
  • 总结


前言

Qt项目打包指的是将Qt应用程序及其依赖项和资源文件等打包为一个可独立运行的安装程序或者打包文件。它的作用是方便用户下载、安装和使用应用程序,将应用程序与依赖项一起分发,以确保在不同环境下应用程序的正确运行,并提供用户友好的安装界面和卸载选项。
本篇将总结一下项目打包的步骤,以及出现的问题与解决。


一、项目打包步骤

1.准备工作

首先把qt的环境变量配置好,后续会使用到该目录下的windeployqt.exe文件
QT项目打包步骤教程及问题解决_第1张图片

2.为Qt生成的可执行程序(.exe)设置图标

如果需要设置图标,需要将logo的ico文件放在项目的文件夹下

QT项目打包步骤教程及问题解决_第2张图片
直接放例如png图片格式,或者直接修改后缀,会报错。
如果需要修改图片格式,可以使用下面网址:

  1. png2ico:
    https://www.aconvert.com/cn/icon/png-to-ico/
    https://convertio.co/zh/png-ico/
  2. 矢量图标库: https://www.iconfont.cn/

然后项目配置文件(.pro文件),在最下面添加一行代码:

RC_ICONS += logo.ico

QT项目打包步骤教程及问题解决_第3张图片

3.生成 .exe文件

打开Qt工程文件,左下角选择【release】,点击【运行】
QT项目打包步骤教程及问题解决_第4张图片

会在项目工程文件夹下生成release文件夹

QT项目打包步骤教程及问题解决_第5张图片

可执行文件位于build-comtool-Desktop_Qt_6_5_2_MinGW_64_bit-Release/release/xxx.exe

QT项目打包步骤教程及问题解决_第6张图片
也可以在Qt Creator中查看

QT项目打包步骤教程及问题解决_第7张图片

4.执行依赖导入

找到可执行文件之后,还不可以直接执行,需要导入相关的依赖,将可执行文件拷贝到一个空的文件夹,执行命令:

windeployqt xxx.exe

成功导入
QT项目打包步骤教程及问题解决_第8张图片

问题

问题1:Cannot open .:拒绝访问

问题描述:
会在执行windeployqt xxx.exe时报错,拒绝访问。
QT项目打包步骤教程及问题解决_第9张图片
原因与解决:
这是一个软件bug,qt社区的解决办法是,使用新版本6.5.1或6.6.0
QT项目打包步骤教程及问题解决_第10张图片

开始重装

QT项目打包步骤教程及问题解决_第11张图片

问题2:Unable to find dependent libraries of xxx\Anaconda\Library\bin\Qt6Core.dll :Cannot open ‘xxx\Anaconda/Library/bin/Qt6Core.dll’:

问题描述:
会在执行windeployqt xxx.exe时报错,缺少核心包。

原因与解决:
查看系统环境变量,是否有冲突的地方,比如Anaconda其中就包含了PyQt,如果此前有导入了相关的包,windeployqt会先根据path中由Anaconda创建的路径去寻找,找到具有qt-bin的库后就会使用,此时可能找到的是PyQt路径,将会出现错误。
在执行windeployqt xxx.exe时将Anaconda的环境变量修改或者删除,后面再加回来。

问题3:Cannot find Visual Studio installation directory,VCINSTALLDIR is not set:

问题描述:
会在执行windeployqt xxx.exe时报警告,缺少环境变量。
QT项目打包步骤教程及问题解决_第12张图片

原因与解决:
原因是系统缺少VCINSTALLDIR这个环境变量,添加进来

QT项目打包步骤教程及问题解决_第13张图片


总结

以上就是QT项目打包的步骤,以及出现的相关问题,提供一些解决思路,希望可以帮助大家。

你可能感兴趣的:(嵌入式,qt,开发语言)