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

 C++ Discussion :

Que signifient ces messages d'erreurs ?


Sujet :

C++

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 45
    Par défaut Que signifient ces messages d'erreurs ?
    slt,je programme en OO avec visual C++ et Il m'affiche les erreurs suivantes:

    error LNK2019: symbole externe non résolu "public: __thiscall vendeur::~vendeur(void)" (??1vendeur@@QAE@XZ) référencé dans la fonction __unwindfunclet$??0chef_de_ventes@@QAE@XZ$0

    error LNK2019: symbole externe non résolu "public: __thiscall cadre::~cadre(void)" (??1cadre@@QAE@XZ) référencé dans la fonction "public: __thiscall chef_de_ventes::~chef_de_ventes(void)" (??1chef_de_ventes@@QAE@XZ)

    fatal error LNK1120: 2 externes non résolus
    merci.........

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Par défaut
    Le problème ne vient pas de Visual C++ mais de ce que tu lui dis de faire.

    Où sont les classes vendeur, cadre et chef_de_ventes ? (dans quels fichiers et dans une dll ou l'exe)

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 45
    Par défaut
    c'est des classes que j'ai déclaré dans ".h " et défini dans un ".cpp". mon programme est dans le main.cpp
    les destructeur (vendeur::~vendeur par exemple),c'est des destructeur par défault, je les ai just déclaré dans le .h

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Le message d'erreur en lui-même se résume en
    symbole externe non résolu
    (ce qui te précède n'est "que" l'identifiant de l'erreur qui t'indique qu'il s'agit d'une erreur d'éditions de liens )

    Ce message t'indique que l'éditeur de liens ( AKA : l'outil qui va regrouper l'ensemble des fichiers objets générés en un exécutable unique en faisant correspondre l'appel des différentes fonctions aux adresses auxquelles elles set trouvent effectivement dans l'exécutable) n'a pas trouvé le symbole correspondant à une fonction donnée.

    Dans le cas présent, ce message t'indique que l'éditeur de liens n'a pas trouvé le destructeur de ta classe vendeur qui est référencé (appelé par ) une des foncitons de ta classe chef_de_ventes.

    Le plus souvent, il y a trois raisons possibles à ce genre de message :
    1. Soit la fonction fait appel à une bibliothèque externe que tu n'as pas indiquée comme étant à utiliser par l'éditeur de liens, mais ce n'est pas le cas
    2. Soit la fonction qui n'est pas trouvée est déclarée mais non implémentée
    3. Soit tu as omis de fournir le fichier objet dans lequel se trouve l'implémentation de la fonction qui n'est pas trouvée dans la liste des fichiers objet à utiliser
    Vu que tu utilises Visual Studio, je serais surpris que ce soit la troisième solution, et je pencherais donc vers la deuxième solution :

    Il *semblerait* donc que tu aies déclaré le destructeur de la classe vendeur (et celui de la classe cadre, car la cause est la même) dans les fichiers d'en-tête, sans doute sous une forme proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class vendeur
    {
        public:
            /*virtual */ ~vendeur();
    }; 
    class cadre
    {
        public:
            /* virtual */ ~cadre();
    };
    mais que tu n'en aies pas donné les implémentations (dans les fichiers *.cpp resoectifs)
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    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,
    As tu ajouter les fichiers .cpp dans le projet visual ? Pour une nouvelle classe, tu peux regarder ici : Ajouter une nouvelle classe. Avec un fichier existant, c'est à peu près la même chose si ce n'est qu'il faut utiliser 'Ajouter un élément existant' et choisir ton fichier '.cpp'.

  6. #6
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Par défaut
    error LNK2019: symbole externe non résolu "public: __thiscall vendeur::~vendeur(void)" (??1vendeur@@QAE@XZ) référencé dans la fonction __unwindfunclet$??0chef_de_ventes@@QAE@XZ$0

    error LNK2019: symbole externe non résolu "public: __thiscall cadre::~cadre(void)" (??1cadre@@QAE@XZ) référencé dans la fonction "public: __thiscall chef_de_ventes::~chef_de_ventes(void)" (??1chef_de_ventes@@QAE@XZ)

    fatal error LNK1120: 2 externes non résolus
    Vérifies tes dépendances additionnelles, linkages, inclusions, dans le projet où c'est arrivé (le (fichier.o) que tu as caché qui est au début de ce genre de ligne). il suffit d'un mauvais linkage de librairies, ou d'une utilisation de composants obsolètes (si tu utilises genre les libs d'une API qui a 5ans et que tu ne les as jamais mis à jour...).


    Et +1 pour Koaloa01, je pencherais quand même pour le petit 3, si le petit 2 n'en est pas la cause.

Discussions similaires

  1. Que signifie ces lignes de codes ?
    Par Gnap69 dans le forum Débuter
    Réponses: 2
    Dernier message: 12/04/2010, 20h27
  2. Que signifie ces éléments dans l'interface graphique?
    Par flet le kid dans le forum Débuter
    Réponses: 2
    Dernier message: 01/05/2009, 19h33
  3. que signifie "THIS"("message",nom de classe)
    Par specsy dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 26/04/2008, 12h23
  4. que signifie ce message d'erreur
    Par Pierre FORAZ dans le forum XMLRAD
    Réponses: 1
    Dernier message: 30/01/2008, 14h29
  5. Réponses: 3
    Dernier message: 07/02/2006, 09h14

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