このページでは

qt_import_qml_plugins

静的ビルドにおいて、ターゲットに必要な QML プラグインが確実にインポートされるようにします。

このコマンドは Qt 6.0 で導入されました。

このコマンドは、Qt6 パッケージのQml コンポーネントで定義されており、次のように読み込むことができます。

find_package(Qt6 REQUIRED COMPONENTS Qml)

概要

qt_import_qml_plugins(target)

バージョン指定なしのコマンドが無効になっている場合は、代わりに `qt6_import_qml_plugins() ` を使用してください。このコマンドと同じ引数セットをサポートしています。

説明

注:この コマンドは 、Qtが静的リンクでビルドされている場合にのみ効果を発揮します。非静的リンクのQtを使用して呼び出された場合、何も行わず、直ちに終了します。

qt_import_qml_plugins() 呼び出しの一環として、直ちにtarget に対してqmlimportscanner を実行します(ただし、QMLモジュールを定義する際にqt_add_qml_module()にNO_IMPORT_SCAN オプションが渡されていた場合は除きます)。target が使用する静的QMLプラグインを検索し、それらをリンクして、target が表す実行ファイルまたは共有ライブラリの一部となるようにします。 検索は、QMLモジュールのインポートを再帰的に追跡します。

qmlimportscanner への呼び出しは、生成時やビルド時ではなくconfigure時に実行されるため、qt_import_qml_plugins() が把握できるのは、qt_import_qml_plugins() が呼び出された時点でtarget (またはそれがリンクまたはインポートしている他のターゲット)に記録されていた情報のみです。この呼び出し後に追加されたリンクやインポートの関係は考慮されません。 したがって、すべてのリンクおよびインポート関係が把握できるよう、このコマンドはtarget のディレクトリスコープ内で可能な限り遅い段階で呼び出す必要があります。

target がqt_add_executable() を使用して作成された場合、プロジェクトは通常、qt_import_qml_plugins() を直接呼び出す必要はありません。 Qt が静的にビルドされる場合、target が Qml ライブラリにリンクされていると、このコマンドはターゲットのファイナライゼーションの一環として自動的に呼び出されます。デフォルトでは、このファイナライゼーションは、target が作成されたのと同じディレクトリスコープの最後に実行されます。target が標準の CMake コマンド `add_executable() ` を使用して作成された場合は、プロジェクト側で `qt_import_qml_plugins() ` を呼び出す必要があります。

Q_IMPORT_QML_PLUGINも参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.