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

Qt Discussion :

Error: can't find linker symbol for virtual table for `State' value [Graphics View]


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Error: can't find linker symbol for virtual table for `State' value
    Hello !

    Dans le cadre de mes études, je travaille actuellement sur une étude pratique. Je suis sensé écrire un programme Qt permettant de dessiner des automates simples, afin de les intégrer à un autre projet sur lequel d'autres amis travaillent. En voici une capture d'écran (les icônes sont choisies à la volée pour l'instant):


    Le problème est que j'ai programmé une fonctionnalité qui permet de retirer une flèche de l'interface, en cliquant dessus. Et là, une fois que j'ai cliqué, j'obtiens une erreur que je ne comprends pas. Et le débogueur intégré à Qt Creator m'indique les messages suivants :

    L'inférieur a stoppé car il a reçu un signal du système d'exploitation.
    Nom du signal : SIGSEGV
    Signification du signal : Segmentation fault
    can't find linker symbol for virtual table for `State' value

    Voici le code : y-a-t-il quelque chose qui est mal dans le code ?
    Le problème survient à la ligne 10.

    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
    void GraphicsView::mouseReleaseEvent(QMouseEvent *event)
    {
        if(pressedItem != NULL) {
        }
     
        bool removeArrow = false;
        if(arrowOnPainting!=NULL) { // if an arrow is being drawn
            if(hoveredItem==NULL) removeArrow = true;
            else {
                State *hoveredState = dynamic_cast<State*>(hoveredItem); // voici la ligne qui foire.
                if(hoveredState==NULL) removeArrow = true;
            }
        }
        if(removeArrow) {
            m_scene->removeItem(arrowOnPainting);
            delete arrowOnPainting;
            arrowOnPainting = NULL;
        }
     
        pressedItem = NULL;
    }
    Merci.
    Dernière modification par Invité ; 23/03/2015 à 12h27.

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

    Pour ceux que cela pourrait intéresser, j'ai finalement trouvé la source du problème la semaine dernière. A vrai dire j'ai du changer le code puis l'ai déplacé au bon endroit dans le code source. En effet, je me suis rendu compte que la portion de code que j'ai publiée, et que j'ai d'ailleurs rajouté un soir, tard dans la nuit, était en fait incohérente.

    Ceci pour dire que ce n'est pas toujours bien de coder tard dans la nuit : on pense bien faire mais à moins d'avoir dormi toute la journée, on a plus de chances d'écrire un programme erroné.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. "Compil Error"Can't find project or library
    Par obel38 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 10/01/2011, 21h05
  2. [XL-2007] Error Can't Find Project or library
    Par skrobar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/06/2010, 17h16
  3. Réponses: 8
    Dernier message: 24/10/2008, 22h58
  4. [VB6]Compil error: can't find project or library
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/05/2006, 22h28
  5. Réponses: 7
    Dernier message: 07/04/2005, 14h45

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