Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1699 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Erreur de Link (Visual C++ 2005)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de Link (Visual C++ 2005)

n°2156623
TestoTest
Posté le 13-09-2012 à 14:13:49  profilanswer
 

Bonjour,
 
Je suis sous Visual C++ 2005, je viens d'installer la plate forme SDK et j'obtiens cette erreur :
 
LINK : warning LNK4098: conflit entre la bibliothèque par défaut 'MSVCRT' et les autres bibliothèques*; utilisez /NODEFAULTLIB:library
MaLibExtern.lib(pccontr.obj) : error LNK2019: symbole externe non résolu __imp__GetUserNameA@8 référencé dans la fonction "void __cdecl ilm_061(char *,int)" (?ilm_061@@YAXPADH@Z)
D:\Mes Devs\Main\Debug\Main.exe : fatal error LNK1120: 1 externes non résolus
 
Je passe en /NODEFAULTLIB et là j'obtiens les erreurs suivantes :
 
Main.obj : error LNK2001: symbole externe non résolu __RTC_Shutdown
Main.obj : error LNK2001: symbole externe non résolu __RTC_InitBase
LINK : error LNK2001: symbole externe non résolu _wmainCRTStartup
D:\Mes Devs\Main\Debug\Main.exe : fatal error LNK1120: 3 externes non résolus
 
Je comprends pas d'où ça vient.
(je précise que je viens d'installer la plate forme SDK mais ça n'a peut-être rien à voir).
 
Merci de votre aide.
 
Bonne journée.

mood
Publicité
Posté le 13-09-2012 à 14:13:49  profilanswer
 

n°2156654
tpierron
Posté le 13-09-2012 à 16:09:43  profilanswer
 

D'après la doc de VC++ l'erreur vient du fait que tu as mixé plusieurs versions incompatibles de la msvcrt (genre un fichier compilé avec la version dbug, un autre avec la version single thread, un troisième avec la version multi-threads, etc...). Ou pire des versions complètement incompatibles, genre msvcrt.dll et msvcrt80.dll.
 
Bref efface tous les fichiers objets et recompile tout. Fait gaffe, ça concerne aussi les .lib.

n°2156935
TestoTest
Posté le 17-09-2012 à 11:14:34  profilanswer
 


Bonjour et merci,
 
j'ai supprimé tous mes .obj, j'ai nettoyé ma solution, tout recompilé, mais ça ne marche pas.
ça vient donc de la version de ma lib ? Le problème est que je n'ai pas le source de cette lib.
Donc il n'y a rien à faire ?  

n°2156976
theshockwa​ve
I work at a firm named Koslow
Posté le 17-09-2012 à 15:36:36  profilanswer
 

ca peut tout à fait venir de ta lib. Si tu ne peux pas la recompiler, ta seule option est d'utiliser le même type de link pour le CRT que ce qui a été utilisé pour générer ta lib.
 
Tu as plusieurs combinaison possibles : soit tu linkes avec ton CRT via une lib, soit via une DLL et dans les deux cas, tu peux linker avec la version release ou la version debug. Ca devrait pouvoir se tester assez vite


---------------
last.fm
n°2159880
TestoTest
Posté le 11-10-2012 à 14:25:54  profilanswer
 

Bonjour et merci (et désolé pour le retard)
 
en fait j'ai recréé un projet, j'ai remis mon source, mes options de projet et ça marche,
je ne sais pas bien pourquoi mais c'est bon
 
merci
 
à bientôt


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Erreur de Link (Visual C++ 2005)

 

Sujets relatifs
[C#] Expression régulièresVisual C++ 2010 - Lancer un batch dos depuis un bouton
(Cplex & C++) Comment résupérer les variables de base ?erreur de bibibliothèque au 1011ieme rappel.
Communication TCP Matlab-C++[C / C++] Lire informations disque dur
access probléme visual basic recordsetint16_t[400] et char[400] xor en C
[C][reseau] connection tcp (3 voies) raw socket 
Plus de sujets relatifs à : Erreur de Link (Visual C++ 2005)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR