[CPP] undefined reference to `vtable for ObservateurTexte'

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [CPP] undefined reference to `vtable for ObservateurTexte'

Message  Hana le Jeu 22 Mar 2012, 11:47

Bonjour,

J'ai cette erreur de compilation "undefined reference to `vtable for ObservateurTexte'" pour le constructeur et le destructeur lorque j'essaie d'ajouter Q_OBJECT à ma classe ObservateurTexte. Qu'est ce que ça signifie ? Pourquoi je ne l'ai plus si j'enlève la macro Q_OBJECT ?

ObservateurTexte.h
Code:
/*
 * ObservateurTexte.h
 *
 *  Created on: 20 mars 2012
 *      Author: g35405
 */

#ifndef OBSERVATEURTEXTE_H_
#define OBSERVATEURTEXTE_H_

#include <QLabel>
#include "metier/O_SDO/observateur.h"
#include "metier/othello/jeu.hpp"

class ObservateurTexte : public QLabel, public Observateur{
   Q_OBJECT
private:
   Jeu * othello;
public:
   ObservateurTexte(QWidget * parent=0, const Jeu * unJeu=0);
   virtual ~ObservateurTexte();
   virtual void rafraichir(const SujetDObservation * sdo);
};

#endif /* OBSERVATEURTEXTE_H_ */


Dernière édition par Hana le Ven 23 Mar 2012, 19:00, édité 1 fois

Hana

Nombre de messages : 40
Prénom : Quynh Anh
Date d'inscription : 29/03/2011

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  Dj x-fuse le Jeu 22 Mar 2012, 12:07

Que signifie de keyword virtual ? Qu'est-ce qu'une virtual table ? Il me semble que ces notions ont été vues au cours théorique.
Dans le cadre d'héritage, les méthodes des classes enfants ne doivent plus être virtual.

Dj x-fuse

Nombre de messages : 658
Age : 27
Prénom : Jonathan
Statut : 4ième sécu
Localisation : IRL
Date d'inscription : 18/10/2008

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  smb le Jeu 22 Mar 2012, 12:52

Hana a écrit:Bonjour,

J'ai cette erreur de compilation "undefined reference to `vtable for ObservateurTexte'" pour le constructeur et le destructeur lorque j'essaie d'ajouter Q_OBJECT à ma classe ObservateurTexte. Qu'est ce que ça signifie ? Pourquoi je ne l'ai plus si j'enlève la macro Q_OBJECT ?

ObservateurTexte.h
Code:
/*
 * ObservateurTexte.h
 *
 *  Created on: 20 mars 2012
 *      Author: g35405
 */

#ifndef OBSERVATEURTEXTE_H_
#define OBSERVATEURTEXTE_H_

#include <QLabel>
#include "metier/O_SDO/observateur.h"
#include "metier/othello/jeu.hpp"

class ObservateurTexte : public QLabel, public Observateur{
   Q_OBJECT
private:
   Jeu * othello;
public:
   ObservateurTexte(QWidget * parent=0, const Jeu * unJeu=0);
   virtual ~ObservateurTexte();
   virtual void rafraichir(const SujetDObservation * sdo);
};

#endif /* OBSERVATEURTEXTE_H_ */

As-tu écrit le code des trois méthodes dans le fichier source ?

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  Hana le Jeu 22 Mar 2012, 18:32

Dans le cadre d'héritage, les méthodes des classes enfants ne doivent plus être virtual.
Exacte, j'ai laissé le virtual par inattention. Mais ce n'est pas le problème ici car que ce soit avec ou sans le virtual j'ai la même erreur.

As-tu écrit le code des trois méthodes dans le fichier source ?
Oui, d'ailleurs c'est dans le ObservateurTexte.cpp que se trouve l'erreur, pas dans le .h .

Hana

Nombre de messages : 40
Prénom : Quynh Anh
Date d'inscription : 29/03/2011

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  smb le Jeu 22 Mar 2012, 19:51

Peux-tu afficher le contenu du fichier .pro ?

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  Hana le Ven 23 Mar 2012, 10:25

Voilà
Code:
TEMPLATE = app
TARGET = OthelloGui_DaoQuynhAnh
QT += core \
    gui
HEADERS += ObservateurTexte.h \
    metier/othello/othelloConfig.hpp \
    metier/othello/OthelloOutils.h \
    metier/othello/jeu.hpp \
    configuration.h \
    othellogui.h
SOURCES += ObservateurTexte.cpp \
    metier/O_SDO/sujetDObservation.cpp \
    metier/othello/OthelloConfig.cpp \
    metier/othello/jeu.cpp \
    configuration.cpp \
    main.cpp \
    othellogui.cpp
FORMS += configuration.ui \
    othellogui.ui
RESOURCES +=
LIBS += -L \
    ./lib/ \
    -l \
    OthelloOutils

Hana

Nombre de messages : 40
Prénom : Quynh Anh
Date d'inscription : 29/03/2011

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  smb le Ven 23 Mar 2012, 11:20

Envoie-moi ton projet sous forme d'archive, je verrai ce que je peux faire.

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  galaeron le Ven 23 Mar 2012, 12:11

Quid de
Code:
OSDO/observateur.h \
OSDO/sujetDObservation.h \ ?
?

galaeron

Nombre de messages : 113
Age : 28
Prénom : Arthur
Statut : 3IR12
Date d'inscription : 29/06/2011

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  smb le Ven 23 Mar 2012, 12:44

galaeron a écrit:Quid de
Code:
OSDO/observateur.h \
OSDO/sujetDObservation.h \ ?
?

Ce n'est pas un problème si les headers sont bien inclus aux endroits nécessaires !

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  galaeron le Ven 23 Mar 2012, 13:08

En effet au temps pour moi.

galaeron

Nombre de messages : 113
Age : 28
Prénom : Arthur
Statut : 3IR12
Date d'inscription : 29/06/2011

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  Hana le Ven 23 Mar 2012, 18:59

En fait l'erreur a disparu ce matin quand j'essaie de recompiler le code Shocked Mon programme fonctionne parfaitement maintenant, même si j'ai toujours pas compris d'où venait l'erreur x)

Hana

Nombre de messages : 40
Prénom : Quynh Anh
Date d'inscription : 29/03/2011

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  smb le Ven 23 Mar 2012, 19:18

Hana a écrit:En fait l'erreur a disparu ce matin quand j'essaie de recompiler le code Shocked Mon programme fonctionne parfaitement maintenant, même si j'ai toujours pas compris d'où venait l'erreur x)

La magie du C++ a encore fait des siennes ... cheers

... au prix de quelques cierges à Saint-Bjarne ...

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

resolu Re: [CPP] undefined reference to `vtable for ObservateurTexte'

Message  Contenu sponsorisé Aujourd'hui à 10:48


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum