C

链接到Qt的静态构建

Boot to Qt中的设备特定工具链和镜像包含动态链接版本的Qt库(*.so 文件)。在某些情况下,使用静态链接可能更好;它避免了对外部库的依赖,产生了单一的自包含应用程序二进制文件,使部署更容易,并且可能导致二进制文件大小更小,因为可以删除未使用的代码。

内部,Qt使用动态链接进行大多数功能的插件。为了有一个完全功能的应用程序,需要额外注意在静态构建中包含哪些插件。静态链接的缺点是添加或更新插件需要完全重建和重新部署应用程序。

为静态链接构建Qt

在您构建静态Qt应用程序之前,您需要使用静态配置重新构建工具链和设备镜像。有关配置Qt为静态版本的说明,请参见构建静态版本的Qt,有关构建工具链和镜像的说明,请参见如何创建Boot to Qt镜像

构建静态应用程序

构建独立的静态应用程序需要将所有必要的插件也进行静态链接。默认情况下,包含项目中使用的全部Qt模块中的插件。

有关更多信息,请参阅静态插件。

添加QML导入

与导入Qt插件的方式类似,构建调用 qmlimportscanner 工具来扫描应用程序的 .qml 文件,并为与 QML 导入关联的每个静态插件生成一个包含 Q_IMPORT_PLUGIN() 调用的 <target_name>_qml_plugin_import.cpp 文件。

例如,对于使用 QtQuickQtQuick.Window 导入语句的简单QML应用程序,将生成以下语句

Q_IMPORT_PLUGIN(QtQuick2Plugin)
Q_IMPORT_PLUGIN(QtQuick2WindowPlugin)

根据某些Qt许可可用。


了解更多。