部署 Qt 应用程序#

部署 Qt 应用程序不需要任何 C++ 编程。您只需按照本说明文档中的说明构建 Qt 和您的应用程序,以发布模式编译即可。

静态库与共享库#

部署应用程序有两种方法

  • 静态链接

  • 共享库(Mac 上的框架)

静态链接会产生独立的可执行文件。优点是只需要部署很少几个文件。缺点是可执行文件体积较大,没有灵活性(即应用程序或 Qt 的新版本将需要重复部署过程),并且不能部署插件。

要部署基于插件的程序,可以使用共享库方法。共享库也提供更小、更灵活的可执行文件。例如,使用共享库方法,用户可以独立升级应用程序使用的 Qt 库。

您可能会想要使用共享库方法的另一个原因,是如果您想要为一系列应用程序使用相同的 Qt 库。实际上,如果您下载 Qt 的二进制安装程序,您将获得作为共享库的 Qt。

共享库方法的缺点是需要部署更多的文件。有关更多信息,请参阅 创建共享库 .

部署 Qt 的库#

除非 Qt 是系统库的一部分,否则必须与您的应用程序一起重新分发。最低要求是重新分发应用程序使用库的运行时。然而,使用静态链接,Qt 运行时可以被编译进可执行文件中。

通常,您应该部署您的 Qt 构建所使用的所有插件,除了您已确定对您的应用程序和用户不必要的插件外。

例如,您可能需要部署对 JPEG 支持和 SQL 驱动的插件,但还应部署可能需要的其他插件,包括那些用于可访问性的插件。有关插件的更多信息,请参阅 如何创建 Qt 插件 .

使用 Qt Qml 的应用程序还需要分发它们使用的 QML 模块

在通过共享库方法部署应用程序时,您必须确保 Qt 库使用正确的路径来查找 Qt 插件、文档、翻译等。为此,您可以使用一个 qt.conf 文件。有关更多信息,请参阅 使用 qt.conf .

根据配置,编译器特定的库也需要重新分发。有关更多信息,请参阅 X11WindowsmacOS 的特定平台应用程序依赖关系。

许可证#

Qt的一些库基于第三方库,这些库的许可方式并非与Qt的相同双许可模式。因此,在部署使用这些库的应用程序时,尤其是当应用程序与这些库进行静态链接时,必须格外小心。有关更多信息,请参阅Qt中使用的第三方许可

QtNetwork的一些配置在运行时会使用OpenSSL。部署OpenSSL库既要遵守许可条款,也要遵守出口限制。有关更多信息,请参阅安全套接字层(SSL)类。

特定平台说明#

将Qt应用程序部署的过程因平台而异

  • Qt for X11平台

  • Qt for Windows

  • Qt for macOS

  • Qt for Android

另请参阅

部署翻译