Portar aplicaciones C++ a Qt 6 usando comprobaciones Clazy
Hemos implementado algunas comprobaciones y correcciones dentro del framework Clazy para ayudarte a portar tus aplicaciones de Qt 5 a Qt 6. En sus propias palabras: "Clazy es un plugin de compilador que permite a clang entender la semántica de Qt". Consigue Clazy(https://invent.kde.org/sdk/clazy) y sigue leyendo para que la migración a Qt 6 sea más sencilla.
Las comprobaciones de Clazy pueden ejecutarse como un plugin durante la compilación o sobre una base de datos de compilación JSON usando clazy-standalone. Las correcciones se aplican más tarde, usando clang-apply-replacements.
Comprobaciones Clazy dedicadas a la migración a Qt 6
Las siguientes comprobaciones están dedicadas a facilitar la migración de Qt 5 a Qt 6.
qt6-deprecated-api-fixesqt6-header-fixesqt6-qhash-signatureqt6-fwd-fixesmissing-qobject-macro
Las comprobaciones tienen que ejecutarse contra Qt 5. El código corregido sólo va a compilar contra Qt 6. Por esta razón las comprobaciones mencionadas tienen que ejecutarse de una sola vez. Clazy recomienda ejecutar una prueba a la vez para evitar conflictos al aplicar las correcciones, pero esto no es una opción cuando se ejecutan esas comprobaciones como un plugin.
Cómo aplicar las comprobaciones de Clazy
Cómo configurar su proyecto para que se ejecute con Clazy y cómo seleccionar y aplicar las comprobaciones se explica detalladamente aquí: https://invent.kde.org/sdk/clazy#setting-up-your-project-to-build-with-clazy.
Si no desea ejecutar las comprobaciones como un complemento, sino sobre una base de datos de compilación JSON, deberá utilizar clazy-standalone. Consulte las instrucciones en https://invent.kde.org/sdk/clazy#clazy-standalone-and-json-database-support.
En resumen, asumiendo que tienes una versión actualizada de Clazy instalada, lo que hay que hacer para ejecutar las comprobaciones como un plugin se explica a continuación.
Configure su proyecto para que se ejecute con Clazy.
Si utiliza qmake
Añada las siguientes líneas a su comando qmake, según corresponda a su sistema operativo:
-spec linux-clang QMAKE_CXX="clazy" -spec macx-clang QMAKE_CXX="clazy"
Para Windows con MSVC añada QMAKE_CXX="clazy-cl.bat".
Ejecute qmake.
Si utiliza CMake
Añada: -DCMAKE_CXX_COMPILER=clazy al comando cmake.
Ejecute cmake.
Selecciona las comprobaciones:
export CLAZY_CHECKS="qt6-deprecated-api-fixes,qt6-header-fixes, qt6-qhash-signature,qt6-qlatin1stringchar-to-u,qt6-fwd-fixes,missing-qobject-macro"
Habilitar los fixits:
export CLAZY_EXPORT_FIXES=ON
Establece los directorios que serán ignorados por Clazy:
export CLAZY_IGNORE_DIRS=.*lib_dir.*
Esto evitará que las comprobaciones de Clazy se ejecuten en los archivos de las bibliotecas. Esto es necesario si las rutas de las bibliotecas se incluyen con -I y -F en lugar de -isystem y -framework. También es necesario para evitar advertencias de la comprobación qt-header-fixes, si las cabeceras que activan la comprobación están incluidas en los archivos de las bibliotecas incluidas.
Compila tu código.
Durante la compilación se crean los archivos .yaml junto a los archivos fuente.
Para aplicar las correcciones, ejecute:
clang-apply-replacements <path_to_yaml_files>
Esto modificará los archivos fuente, considere hacer una copia de seguridad de su código.
Si hay algún conflicto entre los fixits, se le notificará y no se modificará ningún fichero.
No todos los portes pueden hacerse con fixits automáticos. Fíjese bien en las advertencias durante la compilación para ver el código que tendrá que cambiar manualmente.
Cómo aplicar las comprobaciones de Clazy Qt Creator
Puede acceder a las comprobaciones Clazy dentro de Qt Creator seleccionando Tools > Options > Analyzer (o Qt Creator > Preferences > Analyzer en macOS).
Debes crear tu propia configuración y seleccionar las comprobaciones Clazy dedicadas a la portabilidad que encontrarás en las secciones Nivel 2 y Nivel manual en Qt Creator versión 4.14.1, o posterior. Puede utilizar el filtro qt6 para localizar la mayoría de las comprobaciones. Tenga cuidado de seleccionar sólo las comprobaciones presentes en la lista anterior.

Nota: Le recomendamos que anule la selección de todas las demás comprobaciones, excepto las de portabilidad, para facilitar la aplicación de las correcciones y evitar conflictos innecesarios.
Para ejecutar las comprobaciones, seleccione Analyze > Clang-Tidy and Clazy.
Para más información sobre cómo configurar y ejecutar las comprobaciones de Clazy, consulte Qt Creator: Clang Tools.
Una advertencia
En Qt Creator, no se advierte de conflictos entre fixits. Si hay más de un fixit en la misma línea, tenga cuidado al aplicar los fixits.
Una vez que se ha aplicado un fixit, ejecutar las comprobaciones de nuevo fallará, porque el nuevo código sólo compilará contra 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.