Qt offre-t-il une définition de débogage (garantie)?
Est-ce que quelqu'un connaît une façon officiellement supportée d'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.
il semble que je ne trouve aucune documentation indiquant que le cadre Qt garantit la définition d'une macro de débogage. S'il n'y en a pas, qu'est-ce qui serait raisonnable?--6-->non officiel pour implémenter cette fonctionnalité du projet?
3 réponses
QT définit QT_NO_DEBUG
pour la release. Sinon,QT_DEBUG
est défini.
bien sûr, vous êtes libre de spécifier un DEFINES
dans votre .pro fichiers et la portée eux, soit debug
ou release
.
une alternative est d'écrire dans votre dossier de projet quelque chose comme:
debug {
DEFINES += MYPREFIX_DEBUG
}
release {
DEFINES += MYPREFIX_RELEASE
}
alors 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 lancement:
#ifndef QT_DEBUG //<== Please note... if not defined
//Some codes
#endif