Portage d'applications C++ vers Qt 6 à l'aide des vérifications Clazy
Nous avons implémenté des vérifications et des corrections au sein du framework Clazy pour vous aider à porter vos applications de Qt 5 vers Qt 6. Selon leurs propres termes : « Clazy est un plugin de compilateur qui permet à Clang de comprendre la sémantique Qt ». Téléchargez Clazy (https://invent.kde.org/sdk/clazy) et poursuivez votre lecture pour faciliter le portage vers Qt 6.
Les vérifications Clazy peuvent être exécutées en tant que plugin lors de la compilation ou via une base de données de compilation JSON à l’aide de clazy-standalone. Les corrections sont appliquées ultérieurement, à l’aide de clang-apply-replacements.
Vérifications Clazy dédiées au portage vers Qt 6
Les vérifications suivantes sont destinées à faciliter le portage de Qt 5 vers Qt 6.
qt6-deprecated-api-fixesqt6-header-fixesqt6-qhash-signatureqt6-fwd-fixesmissing-qobject-macro
Ces vérifications doivent être effectuées sur Qt 5. Le code corrigé ne pourra être compilé qu’avec Qt 6. C’est pourquoi les vérifications mentionnées ci-dessus doivent être exécutées en une seule fois. Clazy recommande d’exécuter un test à la fois pour éviter tout conflit lors de l’application des corrections, mais cela n’est pas possible lorsque ces vérifications sont exécutées sous forme de plugin.
Comment appliquer les vérifications Clazy
La procédure à suivre pour configurer votre projet afin qu'il fonctionne avec Clazy, ainsi que la manière de sélectionner et d'appliquer les vérifications, est expliquée en détail ici : https://invent.kde.org/sdk/clazy#setting-up-your-project-to-build-with-clazy.
Si vous ne souhaitez pas exécuter les vérifications sous forme de plugin, mais plutôt via une base de données de compilation JSON, vous devez utiliser clazy-standalone. Veuillez consulter https://invent.kde.org/sdk/clazy#clazy-standalone-and-json-database-support pour obtenir des instructions.
En résumé, en supposant que vous disposiez d’une version à jour de Clazy, voici la marche à suivre pour exécuter les vérifications sous forme de plugin.
Configurez votre projet pour qu'il s'exécute avec Clazy.
Si vous utilisez qmake
Ajoutez les lignes suivantes à votre commande qmake, en fonction de votre système d’exploitation :
-spec linux-clang QMAKE_CXX="clazy"
-spec macx-clang QMAKE_CXX="clazy"Pour Windows avec MSVC, ajoutez « QMAKE_CXX="clazy-cl.bat" ».
Lancez qmake.
Si vous utilisez CMake
Ajoutez : -DCMAKE_CXX_COMPILER=clazy à la commande cmake.
Lancez cmake.
Sélectionnez les vérifications :
export CLAZY_CHECKS="qt6-deprecated-api-fixes,qt6-header-fixes,
qt6-qhash-signature,qt6-qlatin1stringchar-to-u,qt6-fwd-fixes,missing-qobject-macro"Activez les corrections :
export CLAZY_EXPORT_FIXES=ONDéfinissez les répertoires à ignorer par Clazy :
export CLAZY_IGNORE_DIRS=.*lib_dir.*Cela empêchera les vérifications de Clazy de s’exécuter sur les fichiers des bibliothèques. Cette opération est nécessaire si les chemins d’accès aux bibliothèques sont inclus via -I et -F au lieu de -isystem et -framework. Elle est également nécessaire pour éviter les avertissements liés à la vérification qt-header-fixes, si les en-têtes déclenchant cette vérification sont inclus dans les fichiers des bibliothèques intégrées.
Compilez votre code.
Au cours de la compilation, des fichiers « .yaml » sont créés à côté des fichiers source.
Pour appliquer les corrections, exécutez :
clang-apply-replacements <path_to_yaml_files>Cela modifiera les fichiers source ; pensez à sauvegarder votre code.
S'il y a des conflits entre les correctifs, vous en serez averti et aucun fichier ne sera modifié.
Le portage ne peut pas toujours être effectué à l'aide de correctifs automatiques. Veuillez examiner attentivement les avertissements affichés lors de la compilation afin d'identifier le code qui devra être modifié manuellement.
Comment appliquer les vérifications Clazy dans Qt Creator
Vous pouvez accéder aux vérifications Clazy dans Qt Creator en sélectionnant « Tools » > « Options » > « Analyzer » (ou Qt Creator > Preferences > Analyzer sous macOS).
Vous devez créer votre propre configuration et sélectionner les vérifications Clazy dédiées au portage, que vous trouverez dans les sections « Level 2 » et « Manual Level » de Qt Creator version 4.14.1 ou ultérieure. Vous pouvez utiliser le filtre « qt6 » pour localiser la plupart de ces vérifications. Veillez à ne sélectionner que les vérifications figurant dans la liste ci-dessus.

Remarque : nous vous recommandons de désélectionner tous les autres contrôles, à l’exception des contrôles de portage, afin de faciliter l’application des correctifs et d’éviter tout conflit inutile.
Pour exécuter les vérifications, sélectionnez « Analyze » > « Clang-Tidy and Clazy ».
Pour plus d’informations sur la configuration et l’exécution des vérifications Clazy, consultez Qt Creator: Clang Tools.
Mise en garde
Dans Qt Creator, les conflits entre les correctifs ne font pas l’objet d’un avertissement. S’il y a plusieurs correctifs sur la même ligne, soyez prudent lors de leur application.
Une fois une correction appliquée, la réexécution des vérifications échouera, car le nouveau code ne se compilera qu’avec Qt 6.
© 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.