Quelqu'un connaît-il un moyen officiellement pris en charge pour inclure du code de débogage uniquement dans Qt? Par exemple:
#ifdef QT_DEBUG
// do something
#endif
Fondamentalement comme Q_ASSERT mais pour des tests plus complexes.
Je n'arrive pas à trouver de documentation qui dit que le framework Qt garantit de définir une macro de débogage. S'il n'y en a pas, quelle serait une manière judicieuse non officielle d'implémenter cette fonctionnalité à l'échelle du projet?
Qt définit QT_NO_DEBUG
pour les versions. Autrement QT_DEBUG
est défini.
Bien sûr, vous êtes libre de spécifier n'importe quel DEFINES
dans vos fichiers .pro et de les étendre pour debug
ou release
.
Une alternative consiste à écrire dans votre fichier de projet quelque chose comme:
debug {
DEFINES += MYPREFIX_DEBUG
}
release {
DEFINES += MYPREFIX_RELEASE
}
Ensuite, vous ne dépendrez pas de la définition interne de Qt.
Pour vérifier le mode de débogage:
#ifdef QT_DEBUG
//Some codes
#endif
Pour vérifier le mode de libération:
#ifndef QT_DEBUG //<== Please note... if not defined
//Some codes
#endif