Qt 6之三: 项目的发布

GUIQt 6之三: 项目的发布

本文接着上一篇“Qt 6之二:项目的结构、资源文件的使用” https://blog.csdn.net/cnds123/article/details/130741807介绍,并使用其中的例子。

程序代码能正确编译运行,就可以考虑项目的发布了。

发布 Qt 程序需要考虑多种因素。您需要了解目标平台的要求,了解如何编译和打包程序,并能够管理其依赖项和发布版本。

Qt Creator将项目源文件和编译生成的文件进行了分类存放。初学者常常找不到生成的可执行文件.exe在哪儿。

在Qt Creator中,生成的可执行文件(.exe文件)默认会放在项目的构建目录中。构建目录的位置可以在Qt Creator的项目设置中进行配置。

构建和运行(Build & Run)目录

Qt Creator将项目源文件和编译生成的文件进行了分类存放。构建目录用于存放此项目在编译过程中生成的文件,例如数据库文件、可执行文件等。

查看或修改构建目录

在Qt Creator中查看或修改项目的构建目录,参见下图,按照以下步骤操作:

打开Qt Creator并加载你的项目。

在左侧面板中,选择“Projects(项目)” 图标(通常显示为一个扳手图标)。

在“项目”选项卡中,根据实际情况查看或修改构建目录

保存更改后,下次构建时,项目将使用新的构建目录进行编译。

注意:修改构建目录会影响之前构建产物的存放位置,可能需要重新构建项目以确保之前的构建产物被更新。在某些情况下,可能需要执行清理操作(在顶部菜单栏上点击“构建”>“清理项目”),以防止因旧构建文件而导致的问题。

Qt 6之三: 项目的发布_第1张图片

构建模式(构建版本)

Qt提供了三种不同的构建模式(构建版本):Debug、Profile和Release。这些模式涉及不同的编译选项和优化设置,用于满足开发过程中不同阶段的需求。

Debug(调试)模式:

Debug模式主要用于开发和调试应用程序。它使用额外的信息(如调试符号),使开发者能够更轻松地定位和解决代码问题。在Debug模式下,编译器通常不会执行任何优化操作,以确保代码的行为与预期一致。此配置下生成的可执行文件体积较大,运行速度较慢。而Debug模式下的项目可以结合调试器,在运行时进行断点调试、内存分析等操作。

Profile(性能分析)模式:

Profile模式类似于Debug模式,但包含了额外的性能分析工具(如性能计数器和跟踪器)。这些工具允许开发者检查应用程序的性能瓶颈和资源消耗。在Profile模式下,编译器可能会执行某些优化,以便更接近实际的运行环境。然而,这种模式仍然包含调试信息,因此可执行文件体积仍然较大。Profile模式适用于需要对代码进行性能分析和调整的场景。

Release(发布)模式:

Release模式用于准备应用程序的最终版本。在Release模式下,编译器将执行各种优化操作,以提高应用程序的执行速度和减小文件大小。这种模式下的可执行文件不包含调试信息,因此体积较小,运行速度较快。然而,由于缺少调试信息,使用调试器定位问题变得困难。Release模式通常用于生成可以分发给用户的应用程序版本。

在Qt Creator中,你可以从构建模式下拉菜单中选择需要的构建模式(通常位于左下角)。选择合适的模式后,点击“构建”图标进行编译。请注意,在切换构建模式时,确保对应的构建目录已被正确设置。

Qt 6之三: 项目的发布_第2张图片

将想要发布的应用程序,使用release模式下编译,然后生成可执行文件。

使用Release模式进行编译

请注意,在使用Release模式编译应用程序时,确保你已正确设置了项目,并解决了所有编译警告和错误。

在Qt Creator中使用Release模式进行编译,请按照以下步骤操作:

打开Qt Creator并加载你的项目。

在左下角,找到构建模式切换器。它通常显示为一个下拉菜单,可以在Debug、Profile和Release模式之间切换。

从下拉菜单中选择“Release”模式。此时,Qt Creator将使用Release模式设置对项目进行编译。

若要开始编译,点击顶部工具栏上的绿色播放图标旁边的锤子图标(或者按快捷键Ctrl+B或Cmd+B,或从顶部菜单栏选择“构建”>“构建项目”)。

Qt Creator将使用Release模式进行编译。编译完成后,你可以在构建目录下的"release"子文件夹中找到生成的可执行文件。

在构建目录下的"release"子文件夹中找到生成的可执行文件,我这里是ch01.exe。到此,还不能使用,双击它运行会报错,往下看。

项目的发布

如何让上面ch01.exe让他人使用呢?先不要高兴太早,往下看。

使用QT Creator创建的项目,可以在QT Creator中启动运行,但在"release"子文件夹中双击ch01.exe,文件,却提示系统错误:

Qt 6之三: 项目的发布_第3张图片

怎么办?往下看,手工建立一个文件夹如MyQt,将Qt安装目录下 6.2.4\mingw_64 (其中6.2.4是Qt版本号,据你的实际情况而定)文件夹中的bin文件夹和plugins文件夹复制到MyQt文件夹中,然后将ch01.exe复制到MyQt文件夹这的bin文件夹,就可以将MyQt文件夹给他人用了。其中ch01.exe可以改名。将这个文件夹发给一个没有安装过Qt 的电脑,也可以打开。不过这样发布包含的无用的文件较多,也不太专业。这样发布整个文件夹约200多M(虽然其中的ch01.exe很小)。

下面介绍使用Qt的windeployqt工具发布

windeployqt.exe是Qt自带的Windows平台发布工具,用于创建应用程序发布包,它可以自动为一个应用程序复制其运行所需的各种库文件、插件。官方介绍Qt for Windows - Deployment | Qt 6.5

在“开始”菜单中打开Qt命令行终端界面,参见下图:

Qt 6之三: 项目的发布_第4张图片

【在Qt命令行终端中输入

windeployqt.exe -h

回车,可以查看命令帮助

Qt 6之三: 项目的发布_第5张图片

在你认为合适的位置新建一个文件夹,将“release”文件夹下的.exe文件复制到新建的文件夹中,我这里在D:盘建立一个文件夹MyQtTest,将ch01.exe复制到该文件夹

命令行中输入

windeployqt 应用程序完整路径

我这里是

windeployqt  D:\MyQtTest

回车即可执行发布命令,参见下图:

Qt 6之三: 项目的发布_第6张图片

 提示:如果应用程序路径中包含空格,需要用双引号将整个路径字符串包裹起来。

等待完成后,进入到应用程序目录可以看到,目录中增加了很多依赖库和数据文件。参见下图:

Qt 6之三: 项目的发布_第7张图片

点击这个目录中你的.exe就可以直接运行了:

Qt 6之三: 项目的发布_第8张图片

将这个文件夹发给一个没有安装过Qt 的电脑,看是否可以打开。若没问题就可以这样发布了。这样发布整个文件夹约50多M(虽然其中的ch01.exe很小)。

更进一步可以制作安装文件。有很多制作安装文件的软件,如Inno Setup 是一个免费的 Windows 安装程序制作软件,还可以使用官方的Qt Installer Framework工具Qt Installer Framework框架制作安装包。Qt提供的Qt Installer Framework是一组工具和实用程序,用于创建一次安装程序。

官方下载:https://download.qt.io/official_releases/qt-installer-framework/

官方文档:https://doc.qt.io/qtinstallerframework/index.html

对于这些,在此就不多说了。

最后,再次提示,Qt 6及以后版本不再支持Windows 7。

附录

Qt 6.2.1 官方文档编制 (中文人工翻译) http://qt6.digitser.top/
Qt Creator使用教程的简单说明https://www.zhangshengrong.com/p/Ap1Zey3AX0/
Qt应用程序的发布(windeployqt)https://blog.51cto.com/u_15346415/5172452

你可能感兴趣的:(C,C++学习,qt,c++)