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

Visual C++ Discussion :

[Linkage] error LNK2019 sur la creation d'une dll


Sujet :

Visual C++

  1. #1
    Membre averti
    Profil pro
    Responsable technique
    Inscrit en
    Février 2006
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable technique

    Informations forums :
    Inscription : Février 2006
    Messages : 364
    Points : 353
    Points
    353
    Par défaut [Linkage] error LNK2019 sur la creation d'une dll
    Salut à tous,

    Je suis en train de compiler les source du moteur 3D Delta3D. La compilation se passe bien mais j'ai des problèmes au link. Voici l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    serializer.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl xercesc_2_7::XMLString::release(wchar_t * *)" (__imp_?release@XMLString@xercesc_2_7@@SAXPAPA_W@Z) referenced in function "public: static class xercesc_2_7::DOMElement * __cdecl dtUtil::Serializer::ToFloat(float,char *,class xercesc_2_7::DOMDocument *)" (?ToFloat@Serializer@dtUtil@@SAPAVDOMElement@xercesc_2_7@@MPADPAVDOMDocument@4@@Z)
    Le probleme est donc dans la methode release de la classe XMLString qui se trouve dans une dll qui vient d'une librairie externe. Mais je ne vois pas c'est quoi.

    C'est pas un probleme de chemin sur les .lib. J'ai fait un test ou je met un chemin improbable et visual gueule sur les autres lib alors que la il ne le fait pas.

    En fait, c'est une dll qui doit etre generé et non pas un exe.
    J'ai essayé de mettre la dll qui contient la fonction dans le repertoire ou doit se trouver ma dll qui doit etre généré mais ca ne fait rien.

    Merci.

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Bonjour,

    Je pense que ton programme ne trouve pas la fonction dans ta dll car elle n'y est tout simplement pas. J'ai eu le problème il y a pas longtemps.
    Il faut que tu ouvres ta dll sous un utilitaire (genre DEPENDS) pour voir les fonctions exportéees par ta dll. Il y a de grandes chances que la fonction qui devrait correspondre ne soit pas exportée exactement de la même façon. En effet, tu verras que ce qu'on appelle la décoration (une succession de lettres majuscules et d'@) n'est pas exactement celle attendue par le compilateur.

    Dans ton cas, le compilateur veut la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    release@XMLString@xercesc_2_7@@SAXPAPA_W@Z
    La décoration est toute la partie :
    Et ta dll n'exporte surement pas la même décoration de fonction. Tu trouveras surement une succession de lettres et @ légèrement différente.

    Pour régler ce problème, il faut savoir que la décoration est créée en fonction des options de compilation. Ainsi, tes deux projets (celui qui a généré la dll et celui qui te génère une erreur) on une option qui diffère alors que, vu qu'ils sont liés, elle devrait être identique. Il ne te reste plus qu'à trouver laquelle.

    Dans mon cas, le problème était la prise en compte du wchar_t en tant que type intégré. Je vois que tu en utilises aussi, peut-être que ton problème viendrait de là?
    Bon courage.

  3. #3
    Membre averti
    Profil pro
    Responsable technique
    Inscrit en
    Février 2006
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable technique

    Informations forums :
    Inscription : Février 2006
    Messages : 364
    Points : 353
    Points
    353
    Par défaut
    C'est exact. Merci pour ta reponse et pour le logiciel .

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

Discussions similaires

  1. Question legale sur la creation d'une application
    Par mattiew dans le forum Android
    Réponses: 0
    Dernier message: 05/01/2015, 17h25
  2. Réponses: 6
    Dernier message: 26/11/2007, 16h25
  3. Conseil sur la creation d'une table
    Par rohrim dans le forum Administration
    Réponses: 4
    Dernier message: 08/06/2007, 13h19
  4. delphi 7 : tuto sur la creation d'une classe ?
    Par Lorenzo77 dans le forum Delphi
    Réponses: 4
    Dernier message: 18/05/2006, 02h33
  5. question sur la creation d'une base
    Par vbcasimir dans le forum Débuter
    Réponses: 4
    Dernier message: 27/05/2005, 12h17

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