qt_import_plugins
インポートまたは除外するプラグインのカスタムセットを指定します。
このコマンドはQt6
パッケージのCore
コンポーネントで定義されています:
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()
を使ってください。このコマンドと同じ引数をサポートしています。
説明
インポートするプラグインのカスタムセットを指定します。オプションの引数を指定します:INCLUDE
EXCLUDE
,INCLUDE_BY_TYPE
, およびEXCLUDE_BY_TYPE
は複数回使用できます。
INCLUDE
- を使用して、インポートするプラグインのリストを指定できます。EXCLUDE
- を使用すると、除外するプラグインのリストを指定できます。INCLUDE_BY_TYPE
- 特定のプラグイン・タイプに対してインポートするプラグインのリストを上書きするために使用できます。EXCLUDE_BY_TYPE
- 除外するプラグイン・タイプを指定するために使用することができます。NO_DEFAULT
- デフォルトのプラグインが自動的に取り込まれないようにします(例えば、デフォルトのプラットフォームプラグイン)。
Qt には、imageformats
、platforms
、sqldrivers
などのプラグイン・タイプがあります。
ダイナミック・プラグイン
プラグインがダイナミック・ライブラリの場合、この関数はプラグインのデプロイを制御します。この関数を使うことで、例えばAndroid APKにパッケージされる特定のプラグインを除外することができます:
qt_add_executable(MyApp ...) ... qt_import_plugins(MyApp EXCLUDE_BY_TYPE imageformats)
上記のスニペットでは、MyApp
をデプロイする際に、imageformats
タイプを持つすべてのプラグインが除外されます。出来上がったAndroid APKには、imageformats
のプラグインは含まれません。
このコマンドを使用しない場合、ターゲットがリンクしている Qt モジュールに属するすべてのプラグインが自動的にデプロイされます。
静的プラグイン
このコマンドを使用しない場合、ターゲットは、ターゲットがリンクされている Qt モジュールごとに、デフォルトのスタティックプラグインの適切なセットに対して自動的にリンクします。詳細はtarget_link_libraries を参照してください。
各プラグインには、スタティックプラグインを自動的に初期化する C++ スタブファイルが付属しています。その結果、プラグインにリンクするターゲットは、このC++ファイルをSOURCES
に追加することになります。
例
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 )
上のスニペットでは、実行可能ファイルmyapp
を使って、次のことが起こります:
Qt6::QCocoaIntegrationPlugin
が myapp にインポートされる。Qt6::QMinimalIntegrationPlugin
プラグインは、myapp への自動インポートから除外されます。- Qt6::QGifPlugin と Qt6::QJpegPlugin のみを含むように、
imageformats
のプラグインのデフォルトリストがオーバーライドされます。 - すべての
sqldrivers
プラグインは自動インポートから除外されます。
qt_import_qml_plugins()も参照してください 。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。