QTP0002
Zieleigenschaften, die Android-spezifische Pfade angeben, können Generatorausdrücke enthalten.
Diese Richtlinie wurde in Qt 6.6 eingeführt. Sie ändert die Verarbeitung von Zieleigenschaften, die Android-spezifische Pfade spezifizieren:
- QT_QML_IMPORT_PFAD
- QT_QML_WURZEL_PFAD
- QT_ANDROID_PACKAGE_SOURCE_DIR
- QT_ANDROID_EXTRA_PLUGINS
- QT_ANDROID_EXTRA_LIBS
Das OLD
-Verhalten dieser Richtlinie lässt keine Generatorausdrücke in den Zieleigenschaften zu, die Android-spezifische Pfade angeben, sondern konvertiert die angegebenen Pfade implizit in gültige JSON-Strings.
Das NEW
Verhalten dieser Richtlinie erlaubt die Verwendung von Generatorausdrücken in den Zieleigenschaften, die Android-spezifische Pfade angeben, aber sie müssen als gültige JSON-Zeichenfolgen ausgewertet werden.
Der folgende Wert der Eigenschaft QT_ANDROID_EXTRA_PLUGINS wird in eine gültige JSON-Zeichenfolge umgewandelt, wenn Sie die Richtlinie auf OLD setzen, führt aber zu einem Fehler, wenn die Richtlinie auf NEW gesetzt wird:
set_target_properties( QT_ANDROID_EXTRA_PLUGINS "\\path\\to\\MyPlugin.so" )
Wenn die Richtlinie für das obige Beispiel auf NEW gesetzt wird, enthält die resultierende JSON-Zeichenfolge in der Bereitstellungseinstellungsdatei escapete Symbole anstelle von Pfadseparatoren.
Generatorausdrücke werden nur unterstützt, wenn die Richtlinie auf NEW gesetzt ist, so dass das Verhalten OLD eine fehlerhafte Bereitstellungseinstellungsdatei mit dem folgenden Code erzeugt:
set_target_properties( QT_ANDROID_EXTRA_PLUGINS "$<TARGET_FILE_DIR:MyPlugin>" )
Dieser Eigenschaftswert funktioniert wie erwartet sowohl mit OLD- als auch mit NEW-Richtlinienwerten:
set_target_properties( QT_ANDROID_EXTRA_PLUGINS "/path/to/MyPlugin.so" )
Hinweis: Das OLD
Verhalten einer Richtlinie ist veraltet und wird möglicherweise in Zukunft entfernt.
Siehe auch qt_policy und Qt CMake Richtlinien.
© 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.