Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt]Erreur compilation vtable

    11 juillet 2007 à 12:47:09

    Bonjour je me suis mis à Qt récemment et je dois avouer que je galère un peu :p
    Donc pour "apprendre" comment l'utiliser je lis un peu de doc et jessaye de comprendre les exemples fournits mais beaucoup de codes n'arrivent pas à se compiler avec cette erreur :


    .objs\main.o:main.cpp:(.text+0x179): undefined reference to `qInitResources_textedit()'
    .objs\main.o:main.cpp:(.text+0x394): undefined reference to `TextEdit::TextEdit(QWidget*)'
    .objs\main.o:main.cpp:(.text$_ZN8TextEditD1Ev[TextEdit::~TextEdit()]+0x3a): undefined reference to `vtable for TextEdit'
    .objs\main.o:main.cpp:(.text$_ZN8TextEditD1Ev[TextEdit::~TextEdit()]+0x46): undefined reference to `vtable for TextEdit'


    C'est surtout les erreurs en gras qui reviennent presque tout le temps, la pour l'example j'essayait de compiler le textedit present dans le dossier demo. Pourriez-vous m'indiquer d'où vient cette erreur et comment faire pour que ça compile ?
    Merci de votre aide !
    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2007 à 13:02:18

      Hello, les erreurs de vtable ne sont pas liées à Qt (enfin elles ne sont pas due à un composant Qt).

      Elles surviennent lorsque le compilateur ne sait pas faire la résolution dynamique des liens. Cela survient par exemple quand tu as des fonctions membres virtuelles et que tu appelles une de ses fonctions. Si tu as 2 fois la même fonction, le compilateur ne saura pas laquelle lier.

      Mmmh pas très clair tout ça.

      Est-ce que tu sais ce que sont des fonctions membres virtuelles ?
      • Partager sur Facebook
      • Partager sur Twitter
      Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
        11 juillet 2007 à 13:30:29

        Citation : Nanoc

        Hello, les erreurs de vtable ne sont pas liées à Qt (enfin elles ne sont pas due à un composant Qt).

        Elles surviennent lorsque le compilateur ne sait pas faire la résolution dynamique des liens. Cela survient par exemple quand tu as des fonctions membres virtuelles et que tu appelles une de ses fonctions. Si tu as 2 fois la même fonction, le compilateur ne saura pas laquelle lier.

        Mmmh pas très clair tout ça.

        Est-ce que tu sais ce que sont des fonctions membres virtuelles ?


        non ce n'est pas çà, cette erreur survient quand on utilises la macro Q_OBJECT (donc les signals/slots) mais qu'on ne linke pas le fihcier moc_***.cpp
        • Partager sur Facebook
        • Partager sur Twitter
          11 juillet 2007 à 13:48:17

          Merci j'avai bien lu cette partie mais je n'y est pas repensé... Sinon le textedit ne compile toujours pas mais ce n'est plus la même erreur je refait des essais et vous tiens au courant ;)
          • Partager sur Facebook
          • Partager sur Twitter

          [Qt]Erreur compilation vtable

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown