如何在Linux和Windows上发布Qt/C++应用程序?

Jul*_*uis 4 c++ qt

我使用 Qt 开发了一个 C++ 应用程序作为图形界面,现在我想将它发布到 Linux 和 Windows 上。我一直在浏览文档、论坛和教程,但我无法真正理解需要做什么......

我对使用的不同术语感到非常困惑:发布和部署之间有什么区别?您什么时候需要安装程序?如果需要,如何创建一个?

创建 Windows .exe 有哪些不同步骤?以及不同版本的 Linux(Debian、Ubuntu、Ubuntu Mate)的等效项?

我目前使用的是 Ubuntu,并使用 Qt Creator 来编写应用程序。

据我所知,我需要部署共享库。

任何对初学者的帮助、答案、指南或文档都会有很大的帮助,非常受欢迎:)

use*_*329 7

有多种方法可以部署您的应用程序

1. 使用 Windeployqt/linuxdeployqt 部署应用程序

这是最简单的方法,windeployqt 或 linuxdeployqt 是一个应用程序,它将所有必需的依赖项复制到可执行文件夹。准备在另一台计算机上运行。

步骤很简单:

  1. 在发布模式下编译二进制文件
  2. 打开Qt开发者控制台并输入windeployqt“C:\folder\of\your\executable”(linuxdeployqt将非常相似)
  3. 在另一台计算机上运行应用程序所需的所有库都将复制到您的应用程序文件夹中。您可以创建存档并将其发送给其他人。

注意:linuxdeployqt是第三方的。

2. 静态构建

静态构建最终将是一个包含所有 Qt 代码的二进制文件。您可以将单个二进制文件发送给某人,不需要额外的库来运行它。可执行文件更大,因为所有 Qt 代码都链接在可执行文件内。

步骤如下:

  1. 下载Qt源代码
  2. 解压到一个文件夹
  3. 打开已安装编译器的开发者控制台(即 MingW 或 MSVC)
  4. 切换到文件夹并输入

    ./configure -static -static-runtime

  5. 配置完成后,键入nmakemake静态构建 Qt。
  6. 构建过程完成后,在 Qt Creator 中创建一个新套件,然后从源代码文件夹中选择新的qmake.exe或。qmake
  7. 在项目设置中选择您的工具包来构建不需要额外库的静态可执行文件。

3. 离线/在线安装程序

这一步需要一些阅读和微调。Qt 附带了IFW(安装程序框架),您可以在其中创建在线和离线安装程序。安装程序将包含.7z可执行文件和所有依赖项的文件。安装程序对用户来说更加舒适。它可以创建快捷方式、检查可用磁盘空间等。

IIRC 您需要为 MSVC 静态构建安装程序,或者必须提供运行时库。如果使用 MingW 构建,您可能不需要任何运行时库。

这取决于您选择哪种方法。如果您拥有商业许可证,您可以将所有闭源作为静态构建发布,但一般来说,最好将其作为动态构建发布,特别是如果您使用 OpenSSL,用户可以在需要时自行快速交换易受攻击的库。