QTP0002
Android 固有のパスを指定するターゲット・プロパティは、ジェネレータ式を含むことができます。
このポリシーは Qt 6.6 で導入されました。これは、Android 固有のパスを指定するターゲット プロパティの処理を変更します:
- qt_qml_import_path
- qt_qml_import_path
- qt_android_package_source_dir
- qt_android_extra_plugins
- qt_android_extra_libs
このポリシーのOLD
動作は、ターゲットプロパティでAndroid固有のパスを指定するジェネレータ式を許可しませんが、指定されたパスを有効なJSON文字列に暗黙的に変換します。
このポリシーのNEW
動作では、Android 固有のパスを指定するターゲット プロパティでジェネレーター式を使用できますが、有効な JSON 文字列として評価される必要があります。
QT_ANDROID_EXTRA_PLUGINSプロパティの次の値は、ポリシーを OLD に設定すると有効な JSON 文字列に変換されますが、ポリシーを NEW に設定するとエラーになります:
set_target_properties( QT_ANDROID_EXTRA_PLUGINS "\\path\\to\\MyPlugin.so" )
上記の例でポリシーがNEWに設定されている場合、デプロイメント設定ファイルの結果のJSON文字列には、パス区切り文字の代わりにエスケープされた記号が含まれます。
ジェネレータ式は、ポリシーが NEW に設定されている場合にのみサポートされるため、OLD の動作では、次のコードを含む不正な配置設定ファイルが生成されます:
set_target_properties( QT_ANDROID_EXTRA_PLUGINS "$<TARGET_FILE_DIR:MyPlugin>" )
このプロパティ値は、OLD ポリシー値と NEW ポリシー値の両方で期待どおりに動作します:
set_target_properties( QT_ANDROID_EXTRA_PLUGINS "/path/to/MyPlugin.so" )
注: ポリシーのOLD
の動作は非推奨であり、将来的に削除される可能性があります。
qt_policyとQt CMake ポリシーも参照してください 。
© 2025 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.