Bonjour à tous
J'ai un problème de compilation avec Qt : eclipse me balance tout un tas de "undefined reference" dans le log de compilation, et je ne sais pas comment les résoudre...
Commençons par le code !
fichier ui_copieur.h :
fichier 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
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
52
53
54 #ifndef UI_COPIEUR_H #define UI_COPIEUR_H #include <QDialog> #include <QtGui> class ui_copieur : public QDialog { Q_OBJECT private: QLabel *infoSaisie; QLabel *infoChemin; QLineEdit *chemin; QListView *listeFichiers; QPushButton *scannerChemin; QPushButton *copierChemin; public: ui_copieur(QWidget *parent=0) : QDialog(parent) { infoSaisie = new QLabel(tr("Saisissez un chemin")); infoChemin = new QLabel(tr("Statut : ")); chemin = new QLineEdit(tr("C:\\")); listeFichiers = new QListView(); scannerChemin = new QPushButton(tr("Scanner le fichier")); copierChemin = new QPushButton(tr("Copier le fichier")); connect(scannerChemin,SIGNAL(clicked()),this,SLOT(goCopie())); connect(copierChemin,SIGNAL(clicked()),this,SLOT(goScan())); QHBoxLayout *layoutBoutons = new QHBoxLayout; layoutBoutons->addWidget(scannerChemin); layoutBoutons->addWidget(copierChemin); QVBoxLayout *layoutPrincipal = new QVBoxLayout; layoutPrincipal->addWidget(infoSaisie); layoutPrincipal->addWidget(chemin); layoutPrincipal->addWidget(infoChemin); layoutPrincipal->addWidget(listeFichiers); layoutPrincipal->addLayout(layoutPrincipal); setWindowTitle(tr("Copie de fichiers")); setFixedHeight(sizeHint().height()); }; private slots: void goCopie(); void goScan(); }; #endif
J'ai deux erreurs qui se répètent plusieurs fois dans le log :
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 "copieur.h" #include "ui_copieur.h" #include <QApplication> int main(int argc,char *argv[]) { QApplication a(argc,argv); ui_copieur *ui_cop = new ui_copieur; ui_cop->show(); a.connect(&a,SIGNAL(lastWindowClosed()),&a,SLOT(quit())); return a.exec(); }
En commentant la déclaration de mon instance de ui_copieur dans le main, les erreurs disparaissent. Mais bon une application graphique sans interface c'est moyen ^^.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 release/main.o(.text$_ZN10ui_copieurC1EP7QWidget[ui_copieur::ui_copieur(QWidget*)]+0x5e8):main.cpp: undefined reference to `ui_copieur::staticMetaObject' release/main.o(.text$_ZN10ui_copieurC1EP7QWidget[ui_copieur::ui_copieur(QWidget*)]+0x86):main.cpp: undefined reference to `vtable for ui_copieur'
Voilà je continue les tests mais si quelqu'un a une idée...
Merci![]()
Partager