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

Discussion :

Undefined reference for vtable

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut Undefined reference for vtable
    bonjours lors de l compilation j'ai cette erreur :undefined reference to vtable

    Je croit que cela pourrait provenir d'un objet non instancier ???

    voici le code de la classe d'ou provient l'erreur:

    .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
    55
    56
    57
    58
     
    #include "piece.h"
    #include <QLabel>
     
    //constructeur
    Piece::Piece(int dX, int dY, int pX, int pY) : deplacementX(dX),deplacementY(dY),positionX(pX),positionY(pY)
    {
    }
     
    //constructeur de copie
    Piece::Piece(const Piece& p):deplacementX(p.getDeplacementX()),deplacementY(p.getDeplacementY()),positionX(p.getPositionX()),positionY(p.getPositionY())
    {
    }
     
    //operateur = redéfinition
    Piece& Piece::operator =(const Piece& p)
    {
        if(&p != this)
        {
            deplacementX = p.getDeplacementX();
            deplacementY = p.getDeplacementY();
     
            positionX = p.getPositionX();
            positionY = p.getPositionY();
        }
        return *this;
    }
    int Piece::getDeplacementX()const
    {
        return this->deplacementX;
    }
     
    int Piece::getDeplacementY()const
    {
        return this->deplacementY;
    }
     
    int Piece::getPositionX()const
    {
        return this->positionX;
    }
    int Piece::getPositionY()const
    {
        return this->positionY;
    }
     
    void Piece::setPositionX(int pX)
    {
        this->positionX = pX;
    }
    void Piece::setPositionY(int pY)
    {
        this->positionY = pY;
    }
     
    void Piece::deplacement(int,int)
    {
    }
    .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
     
    #ifndef PIECE_H
    #define PIECE_H
     
    #include <QLabel>
     
    class Piece : public QLabel
    {
        Q_OBJECT
     
        private :
            int deplacementX;//deplacement horizontal de la piece
            int deplacementY;//deplacement vertical de la piece
            int positionX;//position sur label de coordonnee X
            int positionY;//position sur label de coordonnee Y
     
        public:
            Piece(int,int,int,int);
            Piece(const Piece&);
            Piece& operator=(const Piece&);
     
     
            int getDeplacementX()const;
            int getDeplacementY()const;
     
            int getPositionX()const;
            int getPositionY()const;
            void setPositionX(int);
            void setPositionY(int);
     
            virtual void deplacement(int ,int)=0;
     
     
     
    };
     
    #endif // PIECE_H

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Avec Qt, la réponse la plus probable est dans la F.A.Q. : Erreur d'édition des liens undefined reference to 'vtable for xxx' ?

  3. #3
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    Bonjours,

    j'ai été voir la FAQ mais je ne comprend pas ce qui est expliquer? quelqu'un pourrait expliquer cela ?

    Cette erreur se produit lorsque la partie QObject d'une classe n'a pas été ajoutée à l'édition des liens.

    Lors de l'utilisation de la macro Q_OBJECT, on définit un certain nombre de méthodes et de variables statiques. Ces méthodes et ces variables sont implémentées dans un fichier généré automatiquement par qmake à l'aide de l'outil moc. Vous pouvez naturellement créer ce fichier manuellement et l'ajouter pour compilation et édition des liens.

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Utilise qmake pour compiler.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ...Peut-être que le compilateur ne reconnait pas certain caractères comme ,par exemple les caractères comme le é,è ,à ,ê ,ë etc...?

Discussions similaires

  1. [Error] undefined reference to `vtable for ?
    Par Some0ne dans le forum C++
    Réponses: 1
    Dernier message: 20/01/2011, 00h34
  2. Réponses: 13
    Dernier message: 17/05/2010, 21h28
  3. Réponses: 1
    Dernier message: 19/07/2009, 22h37
  4. undefined reference to `vtable for Graphique'
    Par lilly91 dans le forum Débuter
    Réponses: 11
    Dernier message: 23/06/2009, 17h41
  5. undefined reference to `vtable for
    Par zalalus dans le forum Qt
    Réponses: 13
    Dernier message: 27/05/2009, 15h27

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