部署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应用程序的过程因平台而异:

  • 适用于X11平台的Qt

  • Windows 版 Qt

  • 适用于macOS的Qt

  • Qt for Android

另请参阅

部署翻译