QTP0002
Ziel-Eigenschaften, die Android-spezifische Pfade angeben, dürfen Generatorausdrücke enthalten.
Diese Richtlinie wurde in Qt 6.6 eingeführt. Sie ändert die Verarbeitung von Ziel-Eigenschaften, die Android-spezifische Pfade angeben:
- QT_QML_IMPORT_PATH
- QT_QML_ROOT_PATH
- 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 Ziel-Eigenschaften zu, die Android-spezifische Pfade angeben, konvertiert die angegebenen Pfade jedoch implizit in gültige JSON-Zeichenfolgen.
Das Verhalten „ NEW “ dieser Richtlinie erlaubt die Verwendung von Generatorausdrücken in den Ziel-Eigenschaften, die Android-spezifische Pfade angeben, diese müssen jedoch zu gültigen JSON-Zeichenketten ausgewertet werden.
Der folgende Wert der Eigenschaft „QT_ANDROID_EXTRA_PLUGINS“ wird in eine gültige JSON-Zeichenkette konvertiert, wenn Sie die Richtlinie auf „OLD“ setzen, führt jedoch zu einem Fehler, wenn die Richtlinie auf „NEW“ gesetzt ist:
set_target_properties(
QT_ANDROID_EXTRA_PLUGINS "\\path\\to\\MyPlugin.so"
)Wenn die Richtlinie für das obige Beispiel auf „NEW“ gesetzt ist, enthält die resultierende JSON-Zeichenkette in der Bereitstellungs-Einstellungsdatei Escape-Zeichen anstelle von Pfadtrennzeichen.
Generatorausdrücke werden nur unterstützt, wenn die Richtlinie auf „NEW“ gesetzt ist; daher erzeugt das „OLD“-Verhalten mit dem folgenden Code eine fehlerhafte Bereitstellungskonfigurationsdatei:
set_target_properties(
QT_ANDROID_EXTRA_PLUGINS "$<TARGET_FILE_DIR:MyPlugin>"
)Dieser Eigenschaftswert funktioniert sowohl mit dem Richtlinienwert „OLD“ als auch mit „NEW“ wie erwartet:
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.
© 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.