Quand j'ai dans mon code un #ifdef
comme cegris intellisense de Qt Creator sur #ifdef blocs _DEBUG même si la construction de débogage est sélectionné
#ifdef _DEBUG
printf("This is a debug build");
#endif
grays Qt Creator sur le printf
même si elle est une version de débogage, et quand je l'exécute "This is a debug build"
est imprimé.
Il semble que l'intellisense ne voit pas les définitions de préprocesseur qui seront transmises au compilateur via la ligne de commande (c'est-à-dire -D_DEBUG
) au lieu d'être définies dans les fichiers d'en-tête/source.
Vous aurez envie de regarder cette réponse http://stackoverflow.com/a/8298770/159834 –
Merci pour le lien. Je n'ai pas de fichier de configuration dans mon répertoire de projet. Comment puis-je le faire définir _DEBUG pour les versions de débogage uniquement, mais pas pour les versions de version? – sashoalm
Il suffit de le créer. Je ne sais pas comment le faire conditionnellement sur le type de construction, cependant. –