QTP0002
Les propriétés de cible qui spécifient des chemins spécifiques à Android peuvent contenir des expressions de générateur.
Cette politique a été introduite dans Qt 6.6. Elle modifie le traitement des propriétés cibles qui spécifient des chemins spécifiques à Android :
- QT_QML_IMPORT_PATH
- QT_QML_ROOT_PATH
- QT_ANDROID_PACKAGE_SOURCE_DIR
- QT_ANDROID_EXTRA_PLUGINS
- QT_ANDROID_EXTRA_LIBS
Le comportement OLD de cette politique n'autorise pas les expressions de générateur dans les propriétés de la cible qui spécifient des chemins spécifiques à Android, mais convertit implicitement les chemins spécifiés en chaînes JSON valides.
Le comportement NEW de cette politique autorise l'utilisation d'expressions de générateur dans les propriétés cibles qui spécifient des chemins spécifiques à Android, mais elles doivent être évaluées en chaînes JSON valides.
La valeur suivante de la propriété QT_ANDROID_EXTRA_PLUGINS est convertie en chaîne JSON valide si vous définissez la stratégie sur OLD, mais entraîne une erreur si la stratégie est définie sur NEW :
set_target_properties(
QT_ANDROID_EXTRA_PLUGINS "\\path\\to\\MyPlugin.so"
)Si la stratégie est définie sur NEW dans l'exemple ci-dessus, la chaîne JSON résultante dans le fichier des paramètres de déploiement contiendra des symboles échappés à la place des séparateurs de chemin.
Les expressions génératrices ne sont prises en charge que si la stratégie est définie sur NEW, de sorte que le comportement OLD génère un fichier de paramètres de déploiement malformé avec le code suivant :
set_target_properties(
QT_ANDROID_EXTRA_PLUGINS "$<TARGET_FILE_DIR:MyPlugin>"
)Cette valeur de propriété fonctionne comme prévu avec les valeurs de stratégie OLD et NEW :
set_target_properties(
QT_ANDROID_EXTRA_PLUGINS "/path/to/MyPlugin.so"
)Remarque : Le comportement OLD d'une politique est obsolète et pourrait être supprimé à l'avenir.
Voir aussi qt_policy et Qt CMake policies.
© 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.