Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt]utilisation de qDebug() avec CONFIG += console dans le .pro :

erreur à la compilation

Sujet résolu
    9 mars 2008 à 19:22:28

    Bonjour !
    J'essaie de me connecter à une base de donnée mysql avec Qt, mais visiblement ça ne fonctionne pas, mais là n'est pas le problème...
    J'ai donc voulu voir si un message était envoyé qui aurait pu me renseigner, j'ai cherché un peu sur le forum, et j'ai lu qu'il fallait rajouter CONFIG += console dans le .pro pour recevoir sur la console les messages envoyés.
    J'ai également inclus QtDebug pour pouvoir utiliser qDebug() dans mon programme, mais voilà, à la compilation, le message suivant s'affiche :
    /mingw/lib/libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16'
    collect2: ld returned 1 exit status
    mingw32-make[1]: *** [release\chatplus.exe] Error 1
    mingw32-make[1]: Leaving directory `C:/creationsQt/Qt/chat/chatplus'
    mingw32-make: *** [release] Error 2


    Et là je ne comprends pas... :(
    J'ai bidouillé un peu le code pour voir ce qui posait problème, et apparemment, cela vient de la ligne rajoutée dans le .pro : si je l'enlève la compilation se fait bien, mais bon, je ne récupère rien...

    Pourtant, j'ai trouvé plusieurs messages qui confirmaient que c'était bien ce qu'il fallait ajouter...

    Si vous avez une idée de ce qu'il faut faire, je vous remercie de m'aider :)
    Je me dis qu'il doit y avoir un problème avec libmingw32.a, mais je ne sais pas plus que ça décrypter le message d'erreur...
    Et je n'arrive pas à trouver dans la doc quelque chose qui expliquerait comment envoyer les messages vers un fichier ou autre...

    Donc merci d'avance et à bientôt !!
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      9 mars 2008 à 19:40:16

      Et sans ce "console" mais avec "stl" dans CONFIG ça change qqch? (Bien sûr il faut utiliser std::cout.)
      • Partager sur Facebook
      • Partager sur Twitter
        9 mars 2008 à 19:42:02

        le "/mingw/lib/libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16'" indique que tu n'as pas mit ta fonction main

        S'il est y est, elle n'est pas reconnue en tant que tel
        • Partager sur Facebook
        • Partager sur Twitter
          9 mars 2008 à 20:00:54

          Merci de m'avoir répondu :D !!
          alors j'ai essayé de remplacer CONFIG += console par CONFIG += stl, et là la compilation se fait sans problème, mais ça n'affiche rien nulle part (j'ai pourtant fait un std::cout << "je suis là" à un endroit du programme dont je suis sûr qu'il est exécuté...)

          Pour le fait qu'il ne reconnaisse pas ma fonction main, c'est bizarre, vu qu'il la reconnaît lorsque j'enlève la ligne dans le .pro :(

          Cela influerait donc sur la fait que le compilateur reconnaît ou non ma fonction main ??...

          En tout cas merci bien :)





          [EDIT] :
          Bon, alors j'ai trouvé ce qui posait problème, mais je ne comprends vraiment pas la raison !!
          En fait il s'agit bien d'un problème de la fonction main : voilà le prototype que j'avais :
          int main(int argc, char **argv)

          et voilà celui par lequel je l'ai remplacé :
          int main(int argc, char *argv[])

          Je pensais que les deux étaient identiques, mais apparemment non...
          Si quelqu'un pouvait m'expliquer la différence (et au risque de me faire passer pour un idiot), je suis preneur. :)
          • Partager sur Facebook
          • Partager sur Twitter
            10 mars 2008 à 7:18:27

            pour moi, d'après ce que j'en sais y a pas de différence ou alors tellement minime qu'on en parle pas.
            Mais je sais que mon compilateur MinGW fait la différence entre les deux pour le prototype de la fonction main.

            Le reste est résolu ?
            • Partager sur Facebook
            • Partager sur Twitter

            [Qt]utilisation de qDebug() avec CONFIG += console dans le .pro :

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown