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++/CLI Discussion :

étrange erreur LNK


Sujet :

C++/CLI

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2009
    Messages : 128
    Points : 71
    Points
    71
    Par défaut étrange erreur LNK
    Bonjour,

    Je vous écris pour vous demander votre avis sur une étrange erreur de lien que je reçois. Ce sont les LNK2019 et 2001, symbole externe non résolu. En théorie, ces erreurs surgissent quand il ne trouve pas le fichier dans lequel est définie une fonction par exemple. Le problème, c'est que je suis sûr à 100% d'avoir bien ajouté les "#include" et d'avoir ajouté le chemin des dossiers contenant ces fichiers. Plus encore, ces fichiers existent même dans ma solution. Malgré ça, mon compilateur de visual studio 2008 ne les trouve pas. Qu'aurais je oublié svp?

    Merci.

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Sans ton code, difficile de te dire d’où vient l'erreur.

    Le plus souvent c'est quand tu écris ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void MaFonction ()
    {
    ...
    }
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void MaClasse::MaFonction ()
    {
    ...
    }
    Mais difficile d'en dire plus sans ton code...

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2009
    Messages : 128
    Points : 71
    Points
    71
    Par défaut
    :s je comprends qu'il faut le code, mais il fait des milliers de lignes!!
    Sinon, pour ton exemple, j'ai fait attention sur ça aussi. C'est pour ça que je ne comprends vraiment pas ce qui se passe.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Sans ton code, difficile de te dire d’où vient l'erreur
    Il a raison.

    Le problème, c'est que je suis sûr à 100% d'avoir bien ajouté les "#include" et d'avoir ajouté le chemin des dossiers contenant ces fichiers
    Tout dépend des bibliothèques que tu utilises. Les « includes » contiennent souvent que les définitions des fonctions et pas leurs codes. Tout dépend des librairies que tu utilises (standards, fournie avec l’OS ou à installé séparément). Ces librairies peuvent déjà être précompilées (.lib ou partagées .dll). Si « linker » ne connait pas le chemin d’accès à ces bibliothèques tu peux aussi avoir ces code d’erreur LNK2019 et LNK2001. Si c’est le cas ces erreurs se produisent dans la dernière phase de la compilation au moment de la création d’exécutable.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 59
    Points : 120
    Points
    120
    Par défaut
    Salut

    avec l'erreur LNK2019, le linker donne le nom "mangled" de la fonction qu'il n'arrive par à résoudre, il est utile de décoder ce nom et de le comparer avec la fonction existate, souvent un const de trop ou de moins fait que la fonction n'est pas retenue

    y'a t-il un #ifdef qui fait sauter la fonction lors de la compilation ?

    il y a aussi le mode verbose (show progress) du linker qui donne plus d'infos, le fichier où la fonction est définie n'est peut être pas pris en compte lors du link

    Cdt

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/12/2009, 09h46
  2. Erreur LNK 2019 sous Visual C++
    Par mulfycrowh dans le forum C++
    Réponses: 1
    Dernier message: 14/08/2009, 08h59
  3. [threads]étrange erreur à la compilation.
    Par méphistopheles dans le forum Boost
    Réponses: 3
    Dernier message: 02/06/2009, 18h22
  4. [php_writexcel] étrange erreur dans une boucle
    Par Mushu74 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/06/2009, 10h48
  5. Erreur MySQL étrange: erreur 1062 avec update
    Par lysandre dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/02/2008, 00h48

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