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

Qt Discussion :

Probleme de link d'une appli QT avec Dev-C++


Sujet :

Qt

Vue hybride

Sleeping Lionheart Probleme de link d'une appli... 02/01/2007, 00h30
Matthieu Brucher moc, moc et encore moc... Tu... 02/01/2007, 07h57
Sleeping Lionheart Normalement il le fait... 02/01/2007, 10h02
Matthieu Brucher Regénère ton makefile avec un... 02/01/2007, 10h13
Sleeping Lionheart J'ai utilisé qmake, mais... 02/01/2007, 11h01
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Par défaut Probleme de link d'une appli QT avec Dev-C++
    Bonsoir, voici mon probleme :

    Lorsque je compile mon code, le compilateur me donne ces erreurs de link :

    [Linker error] undefined reference to `vtable for MyApp'
    [Linker error] undefined reference to `vtable for MyApp'
    [Linker error] undefined reference to `vtable for MyApp'
    [Linker error] undefined reference to `vtable for MyApp'
    ld returned 1 exit status
    [Build Error] [Qtpremprog.exe] Error 1

    Je ne vois pas où est l'erreur, car j'ai bien configurer mes options de projets comme il faut, dans l'onglet parametres et le Makefile.

    Voici mon code, à tout hasard.... :

    ui_premprog.h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    #ifndef UI_PREMPROG_H
    #define UI_PREMPROG_H
     
    #include <QtCore/QVariant>
    #include <QtGui/QAction>
    #include <QtGui/QApplication>
    #include <QtGui/QButtonGroup>
    #include <QtGui/QLineEdit>
    #include <QtGui/QPushButton>
    #include <QtGui/QWidget>
     
    class Ui_Form
    {
    public:
        QPushButton *bCalculer;
        QLineEdit *lineEdit_3;
     
        void setupUi(QWidget *Form)
        {
        Form->setObjectName(QString::fromUtf8("Form"));
        bCalculer = new QPushButton(Form);
        bCalculer->setObjectName(QString::fromUtf8("bCalculer"));
        bCalculer->setGeometry(QRect(210, 180, 75, 23));
        lineEdit_3 = new QLineEdit(Form);
        lineEdit_3->setObjectName(QString::fromUtf8("lineEdit_3"));
        lineEdit_3->setGeometry(QRect(30, 20, 241, 141));
     
        retranslateUi(Form);
     
        QSize size(307, 224);
        size = size.expandedTo(Form->minimumSizeHint());
        Form->resize(size);
     
     
        QMetaObject::connectSlotsByName(Form);
        } // setupUi
     
        void retranslateUi(QWidget *Form)
        {
        Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
        bCalculer->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
        Q_UNUSED(Form);
        } // retranslateUi
     
    };
     
    namespace Ui {
        class Form: public Ui_Form {};
    } // namespace Ui
     
    #endif
    MyApp.h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #ifndef QtpremProg
    #define QtpremProg
     
     
    #include "ui_premprog.h"
     
     
    class MyApp : public QWidget, private Ui::Form
    {
          Q_OBJECT
     
    public:
          MyApp(QWidget *parent = 0);
     
    public slots :
           void Ecrire();
    };
     
     
    #endif
    MyApp1.cpp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <QtGui>
    #include "MyApp.h"
     
     
    MyApp::MyApp(QWidget *parent)
    {
        setupUi(this);
        connect(bCalculer, SIGNAL(clicked()), lineEdit_3, SLOT(Ecrire()));
    }
     
    void MyApp::Ecrire()
    {
         QString chaine = "Ma premiere appli QT en GUI!!!!";
     
         lineEdit_3->setText(chaine);
    }

    main.cpp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <QApplication>
     
    #include "MyApp.h"
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
        MyApp *dialogue = new MyApp;
     
        dialogue->show();
     
        return app.exec();
    }

    je precise que ui_premprog.h a été crée grâce à Qt designer.

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    moc, moc et encore moc...
    Tu gères toi-même ton makefile ? Si oui, n'oublie pas de générer le fichier moc pour chaque en-tête ayant un Q_OBJECT.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Par défaut
    Normalement il le fait automatiquement, j'ai fait en sorte qu'il le puisse en liant aux projet un fichier qt.mak .
    Jusqu'ici cela marchait correctement...

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Regénère ton makefile avec un qmake puis recompile pour voir.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Par défaut
    J'ai utilisé qmake, mais xcelui-ci me genere plusieurs Makefile :
    Makefile
    Makefile.Release
    Makefile.Debug

    Je les ai tous essayer, seul Makefile.Release me fournit un exe(un exe qui se contente juste de faire apparaitre la fenetre c'est tout, on ne peut rien faire dedans) mais lorsque je compile, on m'indique "Project is not compiled". Je ne comprend pas pourriez-vous m'aider?

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu as un pb quelque part, parce que si je fais comme toi, j'ai bien aussi 3 MakeFile - le global + les 2 pour les 2 configurations par défaut sous Windows -, mais ça marche sans pb chez moi...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/08/2006, 01h02
  2. [TomcaT]Config une appli J2EE avec tomcat/apache sous linux
    Par kameha dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 31/03/2006, 15h05
  3. Une appli WAP avec XMLRAD
    Par et.et-and-co dans le forum XMLRAD
    Réponses: 1
    Dernier message: 30/01/2006, 14h18
  4. [Plugin][Débutant] Lancement d'une appli Java avec un plugin
    Par antares24 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 29/07/2004, 14h18
  5. Définir une appli JEE avec JB7 Entreprise
    Par polo54 dans le forum JBuilder
    Réponses: 4
    Dernier message: 10/06/2003, 11h48

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