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

Discussion :

Configuration dans le .pro

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 99
    Par défaut Configuration dans le .pro
    Bonjour,

    Je cherche à configurer mon .pro pour empêcher par exemple l'affichage des messages de debug en mode release.
    J'ai donc ajouté dans mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CONFIG(debug, debug|release) {
    message( "debug" )
    }
    CONFIG(release, debug|release) {
    message( "release" )
    DEFINES += QT_NO_DEBUG_OUTPUT
    DEFINES += QT_NO_WARNING_OUTPUT
    }
    Seulement, il y a plusieurs comportements que je ne comprends pas :

    1) Le message "release" s'affiche d'abord deux fois, puis le message "debug" une fois. Pourquoi je n'ai pas un seul message "release" ?

    Project MESSAGE: release
    Project MESSAGE: release
    Project MESSAGE: debug
    2) Quand j'ajoute par exemple , j'ai une erreur à la compilation qui me dit qu'il ne trouve pas QApplication (surement à cause de l'organisation du .pro dans lequel j'ai pourtant toujours ).

    3) Où que je mette les defines pour "QT_NO_DEBUG_OUTPUT" et "QT_NO_WARNING_OUTPUT", les messages qDebug du main s'affichent quelque soit le mode de compilation..

    Pourriez-vous m'éclairer un peu ?

    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 29
    Par défaut
    Bonjour,

    Tu fait une application console ou graphique ?

    Car si c'est une application graphique dans tous les cas les qDebug() serons ignorés en release.
    J'ai personnellement quelques lignes de qDebug() qui traînent un peut partout dans mon application finale et qui sont totalement transparent a un utilisateur lambda graphiquement.

    Pour revenir a ton post, je ne connait pas vraiment cette configuration alors je vais pas t'être très utile, mais ça ne serait pas justement cette commande qui fait que des messages s'affichent ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    message( "debug" )
     
    message( "release" )
    Logiquement pour moi cette commande indique a la console d'afficher le message "xxxxx" .. non ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 99
    Par défaut
    Merci allchimiste pour ton aide

    Tu fait une application console ou graphique ?
    J'ai commencé par créer un projet Qt vide en fait.

    Logiquement pour moi cette commande indique a la console d'afficher le message "xxxxx" .. non ?
    Oui, c'est justement ce qui me sert à avoir des messages de sortie pour comprendre le fonctionnement.
    Ce qui me gène surtout, c'est de comprendre pourquoi il y a 3 messages au lieu d'un sachant qu'on est que dans un mode de compilation (release par défaut ?)

    Aussi, je ne comprends pas les autres comportements comme le qui entraîne chez moi une erreur sur QApplication qui n'est plus trouvé malgré le que j'ai indiqué.

    Enfin, si je fais ça, c'est surtout pour désactiver les qDebug et qWarning, et, quelque soit le mode de compilation, l'ajout de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DEFINES += QT_NO_DEBUG_OUTPUT
    DEFINES += QT_NO_WARNING_OUTPUT
    n'y fait rien..

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 29
    Par défaut
    J'ai trouver cela qui pourrait peut être t'aider un peut Compilation des projets Qt4

    Du coup a ce que j'ai compris tu pourrait faire quelque chose comme ça dans le fichier *.pro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !debug:DEFINES+=QT_NO_DEBUG_OUTPUT
    ou alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    release:DEFINES+=QT_NO_DEBUG_OUTPUT
    Et tu laisse l'IDE configurer le fichier *.pro pour le mode debug ou release (personnellement j'intervient jamais dans ce fichier, sauf pour ajouter "CONFIG += qwt" et je laisse le soins a Qt Creator de le gerer)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 99
    Par défaut
    J'ai essayé avec ton idée mais j'en suis toujours au même point.

    Par contre, en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CONFIG += release
     
    CONFIG(release, debug|release) {
    message( "release" )
    DEFINES = QT_NO_DEBUG_OUTPUT
    DEFINES += QT_NO_WARNING_OUTPUT
    }
     
    CONFIG(debug, debug|release) {
    message( "debug" )
    }
    et en compilant en debug, les sorties qDebug et qWarning sont bien désactivées mais bon, c'est juste le comportement inverse de ce que je souhaite (en release, les sorties sont toujours présentes).

    Après, quand je fais un qmake en Debug, j'ai le message suivant :
    13:39:13: Débute : "C:\Qt\5.0.2\5.0.2\mingw47_32\bin\qmake.exe" C:\Users\***\Documents\Qt\5.0.2\Project\Project.pro -r -spec win32-g++ "CONFIG+=debug" "CONFIG+=declarative_debug" "CONFIG+=qml_debug"
    Donc en mode debug, on ajoute bien l'option debug à CONFIG, ce qui n'est pas le cas en release.

    Après, je n'ai toujours pas bien compris la logique pour obtenir ce que je veux..

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 29
    Par défaut
    Ha ... Bah la je suis désolé mais je pourrait pas t'aider plus, cela dépasse mes compétences dans le domaine

Discussions similaires

  1. [VirtualBox] configurer réseau Ubuntu 8.04(invité) dans Vista pro
    Par marveljojo75 dans le forum Virtualisation
    Réponses: 2
    Dernier message: 02/09/2008, 12h11
  2. Problème avec .configure dans une classe
    Par Instanton dans le forum Tkinter
    Réponses: 2
    Dernier message: 29/12/2007, 09h37
  3. Réponses: 2
    Dernier message: 24/08/2007, 12h32
  4. [Visual Web] pas de configure .. dans dropdownlist
    Par diamonds dans le forum NetBeans
    Réponses: 2
    Dernier message: 15/04/2007, 02h35
  5. Réponses: 8
    Dernier message: 11/02/2007, 22h01

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