bonsoir

j'ai installé qt4 comme expliqué dans l'article http://nicolasj.developpez.com/articles/qt4/

mais en essayant de créer des petites applis (avec le tuto de chez trolltech) je me retrouve avec des erreurs de linkage.

voici mon code

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
#include <QtGui>
 
class toto : public QWidget{
 
      public :
             toto(QWidget *parent=0);      
};
 
toto::toto(QWidget *parent): QWidget(parent){};
 
int main( int argc, char **argv )
{
    QApplication a( argc, argv );
 
    toto t;
 
    t.show();
    return a.exec();
}
ceci compile et exécute correctement, mais lorsque je cherche à rajouter la macro Q_OBJECT au début de ma classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
class toto : public QWidget{
      Q_OBJECT
 
      public : ...
j'obtiens
Citation Envoyé par mingw
main.o(.text+0x2a):main.cpp: undefined reference to `vtable for toto'
main.o(.text+0x31):main.cpp: undefined reference to `vtable for toto'
main.o(.text+0x6a):main.cpp: undefined reference to `vtable for toto'
main.o(.text+0x71):main.cpp: undefined reference to `vtable for toto'
main.o(.text+0x124):main.cpp: undefined reference to `vtable for toto'
main.o(.text+0x12b):main.cpp: more undefined references to `vtable for toto' follow
d'où cela peut-il bien venir ?

pour info, je met cette macro pour pouvoir créer des slots dans ma classe toto. j'ai l'impression que sans la macro, les slots restent dans effet.