Qt程序项目的打包及发布详解

目录

    • 一、项目发布概述
    • 二、方法一:
      • 2.1 在构建中选择Release
      • 2.2 构建项目——>运行程序
      • 2.3 在release文件夹中找到exe文件,将其移出来,放置在特定文件夹中
      • 2.4 在该文件夹中shift+鼠标右键——>在此处打开Powershell窗口
      • 2.5 输入指令
    • 三、方法二:
      • 3.1 在构建中选择Release
      • 3.2 构建项目——>运行程序
      • 3.3 新建文件夹,放入exe文件和dll
    • 四、拓展——深度打包

一、项目发布概述

当程序已经编译完成,那么怎样来发布它,让它在别人的计算机上也能运行呢?前面生成的debug版本程序依赖的dll文件很大,那是因为debug版本程序中包含了调试信息,可以用来调试。而真正要发布程序时要使用release版本。

二、方法一:

方法一主要有五步。
在打包发布之前,需要首先添加环境变量。

添加环境变量的方法为:将Qt安装目录下的bin文件夹添加到环境变量path中,我这里的目录为:D:\Qt\6.1.0\mingw81_64\bin。
在这里插入图片描述

2.1 在构建中选择Release

Qt程序项目的打包及发布详解_第1张图片

2.2 构建项目——>运行程序

Qt程序项目的打包及发布详解_第2张图片

2.3 在release文件夹中找到exe文件,将其移出来,放置在特定文件夹中

Qt程序项目的打包及发布详解_第3张图片

2.4 在该文件夹中shift+鼠标右键——>在此处打开Powershell窗口

Qt程序项目的打包及发布详解_第4张图片

2.5 输入指令

windeployqt main2.exe

【注】:这里为实际exe文件。

OK,完成!!!

需要注意的是,这样构建的项目可能存在在别人电脑中因为缺少一些dll库而无法运行的情况,因此需要他人电脑中的错误提示再将一些dll文件放入文件夹中,常见错误如下:
Qt程序项目的打包及发布详解_第5张图片
这时就需要将再去Qt安装目录的bin目录中将libgcc_s_seh-1.dll,libstdc++-6.dll,libwinpthread-1.dll,Qt6Core.dll,Qt6Gui.dllQt6Widgets.dll这六个文件复制过来【如果调用了QCustomPlot库,还需要再加一个Qt6PrintSupport.dll文件】。

因此,接下来介绍一个更为通用的方法。

三、方法二:

方法二主要有三步。

3.1 在构建中选择Release

(同上)

3.2 构建项目——>运行程序

(同上)
编译完成后再看项目目录中E:…\build-main2-Desktop_Qt_6_1_0_MinGW_64_bit-Release\release文件夹中已经生成了main2.exe文件,可以看一下它的大小,大概是前面debug版的十几倍,相差很大。如果已经添加了path的系统环境变量,那么现在就可以直接双击运行该程序。如果无法正常运行,则需要添加环境变量。添加环境变量的方法为:将Qt安装目录下的bin文件夹添加到环境变量path中,我这里的目录为:D:\Qt\6.1.0\mingw81_64\bin。
在这里插入图片描述

3.3 新建文件夹,放入exe文件和dll

在桌面新建一个文件夹,命名为project(随便)。然后将release文件夹中的main2.exe复制过来,再去Qt安装目录的bin目录中将libgcc_s_seh-1.dll,libstdc++-6.dll,libwinpthread-1.dll,Qt6Core.dll,Qt6Gui.dllQt6Widgets.dll这六个文件复制过来【如果调用了QCustomPlot库,还需要再加一个Qt6PrintSupport.dll文件】。另外,还需要将D:\Qt\6.1.0\mingw81_64\plugins目录下的platforms文件夹复制过来(不要修改该文件夹名称),里面只需要保留qwindow.dll文件即可。

OK,完成,可以打包发布了!!!
参考:《Qt Creator快速入门》(第三版)

四、拓展——深度打包

如果想更深度打包,打包成setup安装包格式,可以下载hm nis edit,下载地址:http://hmne.sourceforge.net/,
使用方法参考:手把手教NIS Edit安装向导的使用。

ok,以上便是全部内容了,如果对你有所帮助,记得点个赞哟~

你可能感兴趣的:(Qt,qt,windows,c++,dll)