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 :

Erreur de LINK DLL


Sujet :

Visual C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 69
    Par d�faut Erreur de LINK DLL
    Bonjour,

    J'ai des probl�mes de link sous visual j'y comprends rien du tout.

    Ce que je sais (enfin que je crois savoir) c'est que :

    Si je link avec une lib statique, je dois simplement lui donner l'emplacement du .lib et lors de la compilation
    il r�cup�re le code du .lib pour le mettre dans mon .exe, au final mon .exe est tout ind�pendant c'est merveilleux !
    Si je link avec une lib dynamique, je dois lui donner l'emplacement des .lib et au moment de la compilation il va cr�er
    des pointeurs de fonctions vers des fonctions de la librairie dynamique qu'il utilisera pour faire le .exe,
    et donc une fois compil� je dois me trimbaler mon .exe et mon .dll (et pas le .lib ? qui sert juste � la compil ?)
    C'est l� que je comprends plus, j'ai absolument tout essay� et rien ne marche,
    au d�but il me disait: Error LNK MaLibrairieToto.lib ok j'avais pas sp�cifi� l'emplacement du .lib
    alors j'ai corrig� �a et maintenant il me met syst�matiquement une erreur
    Error unresolved link CMaClass::MaMethode( )
    Alors j'ai pens� qu'il ne trouvait pas la dll, j'ai essay� de la placer pr�s de mon .exe, pr�s du .lib lors de la compil,
    rien n'y fait c'est d�s�sp�rant !

    Ceux qui y comprennent quelque chose, merci d'avance :/

  2. #2
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Pour te linker, il te faut effectivement un .lib. Le .lib n'est utile que dans l'environnement de d�veloppement, il n'est pas utile � l'ex�cution.

    Maintenant, ce .lib peut contenir du binaire, c'est donc une librairie statique ou bien une r�f�rence � une fonction dans une DLL (je fais simple, c'est plus complexe que cela).

    To message d'erreur "Error unresolved link CMaClass::MaMethode( )" signifie tout simplement que la m�thode MaM�thode() de la classe CMaClass n'est pas d�finie dans le .lib.

    Ta librairie n'est pas compl�te ou alors mal faite ou alors tu te trompes de nom dans la m�thode
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 69
    Par d�faut
    Merci pour ces informations,

    Dans mon cas je link avec une DLL, alors au moment de la compil je dois lui donner le chemin d'acc�s au .lib c'est bien �a ?
    Et o� dois-je placer le .dll au moment de la compilation ? Pr�s du .lib ?
    Et o� dois-je placer le .dll au moment de l'ex�cution ? Pr�s de mon .exe ?

    En fait j'ai pens� � ce que tu m'as dit, de toute fa�on j'ai absolument tout essay�,
    le probl�me est que je n'ai pas le source de cette dll et que je l'utilise tr�s bien dans un autre projet, mais l� j'ai recr�� un autre projet ailleurs sur mon disque et pas moyen de refaire marcher cette dll, c'est hyper aga�ant.

    Bonne nuit.

  4. #4
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Citation Envoy� par ZeNoob Voir le message
    Dans mon cas je link avec une DLL, alors au moment de la compil je dois lui donner le chemin d'acc�s au .lib c'est bien �a ?
    Oui, le chemin du .lib doit �tre donn�e (ou enregistr� dans la conf du projet) lors de la phase de link (2eme �tape de la compil)

    Citation Envoy� par ZeNoob Voir le message
    Et o� dois-je placer le .dll au moment de la compilation ? Pr�s du .lib ?
    La DLL n'est pas utile lors de la phase de compil/link (tu peux la mettre o� tu veux)

    Citation Envoy� par ZeNoob Voir le message
    Et o� dois-je placer le .dll au moment de l'ex�cution ? Pr�s de mon .exe ?
    Plusieurs possibilit�s, lire ceci : http://msdn.microsoft.com/fr-fr/library/7d83bc18.aspx
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  5. #5
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Citation Envoy� par ram-0000 Voir le message
    La DLL n'est pas utile lors de la phase de compil/link (tu peux la mettre o� tu veux)
    Du moins, pour un programme en C++ normal (sans .Net, et sans certaines fonctionnalit�s de COM).

    Pour du .Net, il n'y a pas de .lib, rendant la DLL n�cessaire � la fois � la compilation et � l'ex�cution.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [DLL]Erreur de link quand passage par reference
    Par Yeti_in dans le forum C++
    R�ponses: 2
    Dernier message: 19/11/2008, 02h47
  2. Erreur de link dll
    Par Tyfox dans le forum C++
    R�ponses: 11
    Dernier message: 24/06/2008, 10h20
  3. R�ponses: 1
    Dernier message: 02/11/2006, 20h09
  4. Erreur de link entre dlls
    Par Spartan03 dans le forum C++
    R�ponses: 1
    Dernier message: 16/08/2006, 19h48
  5. Erreur de link a la creation d'une dll
    Par drcd dans le forum MFC
    R�ponses: 12
    Dernier message: 29/05/2006, 15h13

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