qt_import_plugins

Specifies a custom set of plugins to import for a static Qt build.

命令的定义在 核心 组件对于 Qt6 包,可以像这样加载:

find_package(Qt6 REQUIRED COMPONENTS Core)
					

该命令在 Qt 5.14 引入。

概要

qt_import_plugins(target
                  [INCLUDE plugin ...]
                  [EXCLUDE plugin ...]
                  [INCLUDE_BY_TYPE plugin_type plugin ...]
                  [EXCLUDE_BY_TYPE plugin_type]
                  [NO_DEFAULT]
)
					

无版本命令 被禁用,使用 qt6_import_plugins() 代替。它支持如此命令的一组相同自变量。

描述

Specifies a custom set of plugins to import. The optional arguments: INCLUDE , EXCLUDE , INCLUDE_BY_TYPE ,和 EXCLUDE_BY_TYPE , can be used more than once.

  • INCLUDE – can be used to specify a list of plugins to import.
  • EXCLUDE – can be used to specify a list of plugins to exclude.
  • INCLUDE_BY_TYPE – can be used to override the list of plugins to import for a certain plugin type.
  • EXCLUDE_BY_TYPE – can be used to specify a plugin type to exclude; then no plugins of that type are imported.
  • NO_DEFAULT – prevent the default plugins from being included automatically (for example, the default platform plugin).

Qt 提供插件类型,譬如 imageformats , platforms ,和 sqldrivers .

If the command isn't used the target automatically links against a sane set of default plugins, for each Qt module that the target is linked against. For more information, see target_link_libraries .

Each plugin comes with a C++ stub file that automatically initializes the plugin. Consequently, any target that links against a plugin has this C++ file added to its SOURCES .

注意: This command imports plugins from static Qt builds only. On shared builds, it does nothing.

范例

qt_add_executable(myapp main.cpp)
target_link_libraries(myapp Qt::Gui Qt::Sql)
qt_import_plugins(myapp
    INCLUDE Qt::QCocoaIntegrationPlugin
    EXCLUDE Qt::QMinimalIntegrationPlugin
    INCLUDE_BY_TYPE imageformats Qt::QGifPlugin Qt::QJpegPlugin
    EXCLUDE_BY_TYPE sqldrivers
)
					

In the snippet above, the following occurs with the executable myapp :

  • The Qt6::QCocoaIntegrationPlugin is imported into myapp.
  • The Qt6::QMinimalIntegrationPlugin plugin is excluded from being automatically imported into myapp.
  • The default list of plugins for imageformats is overridden to only include Qt6::QGifPlugin and Qt6::QJpegPlugin.
  • 所有 sqldrivers plugins are excluded from automatic importing.

另请参阅 qt_import_qml_plugins() .