IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Faire un #if préprocesseur selon debug/release


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut Faire un #if préprocesseur selon debug/release
    Bonjour,
    J'ai cherché sur le net et les forums une variable préprocesseur indiquant si l'on est en mode debug ou en mode release, sans succès. Je voudrais quelque chose dans ce goût là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #ifdef DEBUG_MODE
        ...
    #else
        ...
    #endif
    J'ai trouvé cette liste de ce qui est défini par Qt (fonctions, macros etc) :
    http://qt.developpez.com/doc/latest/qtglobal.html
    mais il ne semble pas y avoir une variable de ce genre.

    Avec ce lien j'ai tenté de définir moi même la variable
    http://qt.developpez.com/doc/latest/...and-conditions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    debug {
        DEFINES += DEBUG_MODE
    }
    Mais que je compile en mode debug ou en mode release ne change rien, ma variable DEBUG_MODE est toujours définie.

    Si quelqu'un connait une façon plus "Qt" de faire ça, ou une explication pour faire fonctionner mon idée, merci d'avance !

    PS : bien sûr je peux toujours commenter la déclaration de la variable quand je veux faire une release, mais plus c'est automatique plus j'aime.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut. En faite le mode debug et release ne veut rien dire pour un compilateur. C'est surtout une convention de compilation.

    En générale on fait
    #ifdef DEBUG
    ...
    #else
    ...
    #endif
    et on defini DEBUG de mode debug.

    Donc en gros ce que tu as fait

    En faite je pense que c'est le .pro qui pose problème.
    http://qt.developpez.com/doc/latest/...#config-config
    Essai
    CONFIG( debug, debug|release ) {
    DEFINES += DEBUG_MODE
    } else {

    }
    au lieu de
    debug {
    DEFINES += DEBUG_MODE
    }

  3. #3
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    C'était bien ça merci !

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Dernièrement, dans un eclair de lucidité, j'ai utilisé la même macro que celle que Qt utilise ( qui est QT_NO_DEBUG )
    Donc cela donne un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifndef QT_NO_DEBUG
     // Le code pour le mode debug
    #else
     // Le code en release
    #endif
    L'avantage de cette macro, c'est qu'elle est configurée de base dans les makefiles.
    Je ne sais pas si c'est la meilleure des solutions par contre ...
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Cela reviens indirectement au même, mais il me semble que cette macro n'est pas toujours définie....
    Citation Envoyé par LittleWhite Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #ifndef QT_NO_DEBUG
     // Le code pour le mode debug
    #else
     // Le code en release
    #endif

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/06/2006, 14h02
  2. Passage Mode debug -> release
    Par Bayard dans le forum MFC
    Réponses: 2
    Dernier message: 08/05/2006, 13h06
  3. [débutant]Faire apparaître X champ selon un nombreX
    Par Hastur dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 06/09/2005, 13h45
  4. Réponses: 3
    Dernier message: 18/08/2005, 10h17
  5. chargement DLL mode debug/release
    Par bihorece dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/06/2004, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo