Partage
  • Partager sur Facebook
  • Partager sur Twitter

[QT] Problème de compilation

    7 juillet 2007 à 14:36:58

    Salut, j'ai un pronlème à la compilation avec Qt.
    Image utilisateur

    Mon code :
    main.cpp
    #include "MyWidget.h"

    int main(int argc, char** argv)
    {
        QApplication app(argc, argv);
        MyWidget window;
           
        window.show();
        return app.exec();
    }

     


    MyWidget.h
    #ifndef MY_WIDGET_H
    #define MY_WIDGET_H

    #include <QApplication>
    #include <QPushButton>
    #include <QWidget>
    #include <QLineEdit>
    #include <QFont>
    #include <QLabel>

    class MyWidget : public QWidget
    {
          Q_OBJECT
         
          public:
                 MyWidget(QWidget* parent = 0);
    };


    #endif


     


    MyWidget.cpp
    #include "MyWidget.h"

    #define H_ECRAN 640
    #define L_ECRAN 480

    MyWidget::MyWidget(QWidget* parent) : QWidget(parent)
    {
        setFixedSize(H_ECRAN, L_ECRAN);
        QLineEdit nombre1(this), nombre2(this);
        nombre1.setGeometry(50, 50, 50, 50);
        nombre2.setGeometry(140, 50, 50, 50);
       
        QFont font("arial", 15, 2, false);
        QFont plusFont("arial", 25, 2, false);
       
        nombre1.setFont(font);
        nombre2.setFont(font);
       
        QLabel plus("-", this);
        plus.setGeometry(110, 45, 40, 50);
        plus.setFont(plusFont);
       
        QPushButton submit("Submit !!!", this);
        submit.setGeometry(210, 50, 75, 30);
       
        QObject::connect(&submit, SIGNAL(clicked()), &nombre1 ,SLOT(selectAll()));
       
       
    }
     


    build.pro
    SOURCES = main.cpp MyWidget.cpp
    HEADERS = MyWidget.h
    TARGET = Mario



    Voila, si vous trouvé le problème, dites le moi ;)

    Si vous avez besoin d'autres renseignement dites le moi aussi.



    Merci de vos réponses
    • Partager sur Facebook
    • Partager sur Twitter
      7 juillet 2007 à 15:03:47

      Quand tu sépares ton code en plsuieurs fichiers, il faut "précompiler" le code il me semble, de façon par exemple à donner la définition de la macro Q_OBJECT.

      En fait l'erreur de ton make c'est qu'il manque le fichier moc_widget.cpp. Chaque header inclu dans ton projet nécessite un "moc_header.cpp" correspondant. Dans ton cas, pour MyWidget.h, il te faut un fichier moc_MyWidget.cpp. Pour obtenir ce fichier, il faut se placer dans le répertoire du projet avec la console, puis taper "qmake -project", puis "qmake" et enfin "make". En tout cas c'est comme ça sous Linux, mais tu perd rien à essayer aussi. Cela va donc te créer un fichier moc_MyWidget.cpp, que tu n'auras plus qu'a inclure dans ton programme (#include).

      Ps: Je débute fortement en Qt donc je dis les choses comme elles se passent chez moi, mais quelqu'un qui comprend mieux le fonctionnement de tout ça expliquera peut-être davantage.
      • Partager sur Facebook
      • Partager sur Twitter
        7 juillet 2007 à 15:44:29

        J'ai essayer ce que tu m'as dit mais ca ne marche pas ...
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          7 juillet 2007 à 17:37:52

          Vérifie que la variable $(QT_DIR) que tu as rentrée est bien correcte (il manque pas un ou deux anti-slashs ?).

          EDIT: et vérifie aussi dans les commandes pré-build si tu n'as pas oublié un anti-slash juste après $(QT_DIR) .
          • Partager sur Facebook
          • Partager sur Twitter
            7 juillet 2007 à 19:12:01

            Mais, je suis selement aller a grand coup de "cd" dans mon répertoire, marquer qmake, puis make et c'est tout.

            Je n'ai rien fait qu'autre.
            • Partager sur Facebook
            • Partager sur Twitter
              8 juillet 2007 à 1:31:23

              Citation : SpotZup

              il faut se placer dans le répertoire du projet avec la console, puis taper "qmake -project", puis "qmake" et enfin "make"


              Alors je le répète, avant de taper qmake, et encore moins avant de taper make, il faut taper qmake -project, qui précède qmake et make, qmake -project étant la première des trois commandes à écrire.

              qmake -project. Just do it.
              • Partager sur Facebook
              • Partager sur Twitter
                8 juillet 2007 à 11:33:58

                Je l'ai déjà fait et ca ne marche pas.

                J'aai fait des tests. J'ai 2 ordinateurs :
                - sur le 1er, ca marche sans problème
                - sur le 2e , ca ne marche pas.

                Je vais rester sur le 1er pour faire mes projets sous Qt.

                Vous pouvez laisser mon problème.

                Merci encore d'avoir esayer de m'aider
                • Partager sur Facebook
                • Partager sur Twitter
                  10 juillet 2007 à 21:36:45

                  Citation : SpotZup

                  qmake -project étant la première des trois commandes à écrire.


                  Attention !!!

                  qmake -project n'est à faire que si on ne crée pas le fichier .pro soi même
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [QT] Problème de compilation

                  × 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