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

  FORUM HardWare.fr
  Programmation
  C

  [C/C++] Probleme de link sous VC6

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++] Probleme de link sous VC6

n°689923
ben33
Posté le 01-04-2004 à 16:50:33  profilanswer
 

Dans un projet sous Visual C++ 6, j'ai un mélange de programme en C et en C++ (suite a un portage rapide d'une version UNIX en version Windows).  
 
En compilant en mode DEBUG, pas de probleme.  
Mais en compilant en mode RELEASE, j'ai ces erreurs la...
 
Linking...
nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBC.lib(delete.obj)
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Release/producer.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
 
J'ai regardé dans MSDN... mais j'avoue que je ne sais pas trop quoi en penser et surtout comme résoudre...
Si quelqu'un a eu ces problemes... je suis preneur de solutions ou de bons conseils.  
 
MErci a tous
 

mood
Publicité
Posté le 01-04-2004 à 16:50:33  profilanswer
 

n°690446
ben33
Posté le 02-04-2004 à 08:11:08  profilanswer
 

Personne n'a connu ce genre de pb..?  
Tant pis pour moi alors... :'(

n°690463
cricri_
Posté le 02-04-2004 à 08:43:00  profilanswer
 

Es-tu sûr d'avoir choisis Multi-thread dans ton projet en release ?

n°690698
ben33
Posté le 02-04-2004 à 12:13:20  profilanswer
 

vi....
En changeant quelques options... J'obtiens maintenant ce message d'erreur la...
Generating Code...
Linking...
nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj)
Release/producer.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.


Message édité par ben33 le 02-04-2004 à 12:21:32
n°690766
cricri_
Posté le 02-04-2004 à 13:38:19  profilanswer
 

vi ... donc tu n'étais pas en multithread ;)
et cette nafxcw.lib c'est nécessaire ?
sinon tu as une option de linkage pour autoriser les doubles définitions :
/FORCE:MULTIPLE

n°690783
ben33
Posté le 02-04-2004 à 13:52:17  profilanswer
 

J'ai lu ca dans la doc...
Mais comme je ne maitrise pas encore bien VC++6... ;)
Ca se met ou.....?

n°690889
cricri_
Posté le 02-04-2004 à 14:30:18  profilanswer
 

Dans les propriétés du projet, onglet Link, et là tu écrit ça à la suite des .lib dans "Objects\Library modules :"

n°690894
cricri_
Posté le 02-04-2004 à 14:31:18  profilanswer
 

Maintenant ce n'est pas très propre tout de même ...
J'ai dû m'en servir une fois sur un projet que j'ai récupéré et que je voulais compiler, mais bon ..

n°690898
ben33
Posté le 02-04-2004 à 14:34:03  profilanswer
 

C'est clair que ce n'est pas tres propre.. De toute facon, le projet n'est pas propre du tout puisqu'il mélange du C et du C++...
.
Mais j'aimerais bien compiler en release au moins une fois le projet que j'ai récupéré au boulot...
 
Maintenant, une fois mis ton option, j'ai cette erreur la... Typique apparemment.. mais je ne sais pas ocmment m'en débarasser...
 
Si t as une idée...
 
c:\AnimaSrc\sqldrv.c(5) : error C2099: initializer is not a constant
 
provenant de cette ligne : static FILE *errout=stdout;
 
Merci!

n°690950
cricri_
Posté le 02-04-2004 à 15:13:16  profilanswer
 

bizarre, ça devrait passer ça, stdout est normalement aussi un FILE *
Me sent incompetent là ...
 

mood
Publicité
Posté le 02-04-2004 à 15:13:16  profilanswer
 

n°690975
ben33
Posté le 02-04-2004 à 15:36:01  profilanswer
 

J'ai peur que ce soit une merde... du genre mélange en C et C++...
Et vu que le prog qui plante est un prog C.. selon la doc on n'a pas le droit..
Bref...  

n°690983
cricri_
Posté le 02-04-2004 à 15:44:10  profilanswer
 

Pas le droit ?
Pour moi on a le droit de mélanger.
T'as regardé tout de même si stdout n'était pas redefini avec un autre type au cas où ?

n°691015
ben33
Posté le 02-04-2004 à 16:12:14  profilanswer
 

Je voulais dire que ce type d'erreur était typique.. puisqu'on n'a pas le droit de faire ce genre de chose en C (doc de VC++ a propos du code d'erreur..)


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

  [C/C++] Probleme de link sous VC6

 

Sujets relatifs
probleme pointeur void alors qu'un cast de char* marche :\problème de téléchargment de fichier
Probléme fonction mailProbléme avec une requête PHP/MySQL
probleme de window.openproblème de format de date
probleme projet casse brique ...probleme fin de session
Problème d'affichage du texte sous IEProbléme de debug
Plus de sujets relatifs à : [C/C++] Probleme de link sous VC6


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