Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de Compil Qt

Sujet résolu
Anonyme
    16 mars 2008 à 0:12:36

    Bonjour,

    Je suis occupé à suivre le Tutos C++ :D ; mais je rencontre un problème de compilation sur l'exercice ou il faut créé la class MaFenetre :euh: j'ai beau relire le code et je ne vois pas d'erreur, jai même fait un copier coller dans le doute et j'ai le même message.

    voici le message d'erreur que je reçois après avoir effectué la compilation dans l'ordre.


    1. qmake -project
    2. qmake
    3. make

    mingw32-make -f Makefile.Release
    mingw32-make[1]: Entering directory `C:/Qt/WIN01/WIN06'
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS
    _QMAIN -I"..\..\4.3.4\include\QtCore" -I"..\..\4.3.4\include\QtCore" -I"..\..\4.
    3.4\include\QtGui" -I"..\..\4.3.4\include\QtGui" -I"..\..\4.3.4\include" -I"." -
    I"c:\Qt\4.3.4\include\ActiveQt" -I"release" -I"." -I"..\..\4.3.4\mkspecs\win32-g
    ++" -o release\MaFenetre.o MaFenetre.cpp

    MaFenetre.cpp:3: error: new types may not be defined in a return type
    MaFenetre.cpp:3: error: return type specification for constructor invalid

    mingw32-make[1]: *** [release/MaFenetre.o] Error 1
    mingw32-make[1]: Leaving directory `C:/Qt/WIN01/WIN06'
    mingw32-make: *** [release] Error 2


    main.cpp
    1. #include <QApplication>
    2. #include "MaFenetre.h"
    3. int main(int argc, char *argv[])
    4. {
    5.     QApplication app(argc, argv);
    6.     MaFenetre fenetre;
    7.     fenetre.show();
    8.     return app.exec();
    9. }


    MaFenetre.h
    1. #ifndef DEF_MAFENETRE
    2. #define DEF_MAFENETRE
    3. #include <QApplication>
    4. #include <QWidget>
    5. #include <QPushButton>
    6. class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
    7. {
    8.     public:
    9.     MaFenetre();
    10.     ~MaFenetre();
    11.     private:
    12.     QPushButton* m_bouton;
    13. }
    14. #endif


    MaFenetre.cpp
    1. #include "MaFenetre.h"
    2. MaFenetre::MaFenetre() : QWidget()
    3. {
    4.     setFixedSize(300, 150);
    5.     // Construction du bouton
    6.     m_bouton = new QPushButton("Pimp mon bouton !", this);
    7.     m_bouton->setFont(QFont("Comic Sans MS", 14));
    8.     m_bouton->setCursor(Qt::PointingHandCursor);
    9.     m_bouton->setIcon(QIcon("smiley.png"));
    10.     m_bouton->move(60, 50);
    11. }
    12. MaFenetre::~MaFenetre()
    13. {
    14.     delete m_bouton;
    15. }


    Est-ce que quelqu'un pourrais m'aider


    D'avance merci
    • Partager sur Facebook
    • Partager sur Twitter
      16 mars 2008 à 0:29:23

      1. #ifndef DEF_MAFENETRE
      2. #define DEF_MAFENETRE
      3. ...
      4. class MaFenetre : public QWidget // On hérite de QWidget (IMPORTANT)
      5. {
      6.     ...
      7. }
      8. #endif

      il FAUT que tu rajoutes un (petit) truc.
      point virgule à la fin de la classe.
      point virgule à la fin de la classe.
      point virgule à la fin de la classe.
      point virgule à la fin de la classe.
      point virgule à la fin de la classe.


      A part ça, t'as des includes qui ne servent à rien dans ton MaFenetre.h : QApplication... Il ne sert que pour le main, tu peux donc l'enlever ;)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        16 mars 2008 à 19:24:17

        :-° Super,

        Maintenant sa fonctionne :D
        Je promet de plus oublier de mettre la virgule à la fin de ma classe.

        un grand merci pour ton aide,

        • Partager sur Facebook
        • Partager sur Twitter
          16 mars 2008 à 19:54:30

          T'inquiètes, on l'a tous faite celle-là !
          • Partager sur Facebook
          • Partager sur Twitter

          Problème de Compil Qt

          × 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