Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Comment utiliser QCDebug ?
Forum Updated to NodeBB v4.3 + New Features

Comment utiliser QCDebug ?

Scheduled Pinned Locked Moved Unsolved French
2 Posts 2 Posters 55 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Max
    wrote last edited by
    #1

    Bonjour,

    Habitué à utiliser QDebug() depuis longtemps, j'ai appris l'existance de qCDebug(), et plus largement des Logging Caterories. Mais je n'arrive pas à l'utiliser.

    Je continue ma découverte du framework QScxmlStateChart et je suis, grâce aux <log> l'activation des états.

    Quand la machine d'états est au point je ne souhaite plus ces messages. Enlever alors les <log> est fastidieux, surtout s'il faut les remettre quand, finalement, la machine d'états n'était pas si au point que ça.

    La doc de QScxmlStateMachine précise que cette classe définit 2 logging categories : qscxml et scxml. Je me suis dit alors qu'il est peut-être possible de désactiver la production des <log> en adaptant les règles des 2 catégories.

    J'ai donc déjà commencé à essayer d'utilser qCDebug(), pour comprendre.
    Dans qscxmlglobals_p.h il y a les deux lignes suivantes :

    Q_DECLARE_LOGGING_CATEGORY(qscxmlLog)
    Q_DECLARE_LOGGING_CATEGORY(scxmlLog)
    

    Suivant les exemples trouvés ici et là j'ai tenté dans mon code, juste après les #include :

    Q_LOGGING_CATEGORY(qscxmlLog,"qscxmlLog");
    

    ... ce que n'aime pas du tout l'éditeur de liens :

    /home/sylvain/Developpements/EDS/EDS_sources/Widgets_Perso/graphefrequencearrivees.cpp:7: erreur :
     multiple definition of `qscxmlLog()'; commandestabs.o:/home/sylvain/Developpements/EDS/build-EDS-Desktop-Debug/../EDS_sources/CommandesTabs/commandestabs.cpp:10: first defined here
    

    Plus loin, puis, dans une méthode

    qCDebug(qscxmlLog) << "Changement de pas : " << p;
    

    ne pose en revanche pas de soucis.

    Il est évident que je ne pige pas quelque chose mais je n'arrive pas à savoir quoi.

    Par avance merci !
    Sylvain

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote last edited by
      #2

      Bonjour,

      L'erreur vient du fait de la re-déclaration que vous faites dans votre fichier.
      Ces catégories existent déjà vu que déclarée dans qscxmlglobals_p.h.
      Pour votre code, vous devriez déclarer vos propres catégories afin de les garder indépendantes de celle de Qt et de pouvoir les filtrer à votre convenance.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      1

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved