Closed smatcher closed 13 years ago
Pour vérifier j'ai testé ça:
void test()
{
#ifdef _DEBUG
printf("Debug\n");
#else
printf("Release\n");
#endif
}
int main(int argc, char** arv)
{
test();
return 0;
}
floquetn@XXX[~]$ gcc -o test test.c floquetn@XXX[~]$ ./test Release floquetn@XXX[~]$ gcc -D_DEBUG -o test test.c floquetn@XXX[~]$ ./test Debug
Donc ça marche bien. Par contre, j'ai entendu que Qmake par exemple définissait automatiquement la macro "NDEBUG", à vérifier
En debug la macro QT_DEBUG est définie, on est parait t'il pas censés l'utiliser ... actuellement c'est elle que j'utilise dans le systeme de log. Il faudrait eventuellement definir notre propre macro.
De même, pour les outils de debug il faudrait se baser sur une autre macro, on doit pouvoir compiler une version debug sans debug tool et une version release avec debugtool, c'est avant tout des outils de middle-user (artiste, moddeur ...)
On utilise les macros _DEBUG et WITH_TOOLS respectivement déclarées sur les configurations s5debug et tools.
Isoler le code de debug du code et les widget de debug du code fonctionnel definir -D_DEBUG dans la ligne de compilation debug