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