[help] Erreur Compilation Visual C++ pour Appli Win32

Erreur Compilation Visual C++ pour Appli Win32 [help] - Programmation

Marsh Posté le 08-09-2001 à 14:06:21    

Bonjour, tous le monde,
j'ai un petit prob sous visual C++ 6.0,
c la premiere que je l'utilise, j'essaye de compiler un projet,
la compilation se passe normalement,  
mais j'ai des erreur lors du "linking" :
 
--------------------Configuration: exochapitre2 - Win32 Debug--------------------
Compiling...
StdAfx.cpp
Compiling...
exochapitre2.cpp
Linking...
StdAfx.obj : error LNK2005: _IID_IDirectDrawGammaControl already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawColorControl already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawClipper already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawPalette already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawSurface7 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawSurface4 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawSurface3 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawSurface2 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDrawSurface already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDraw7 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDraw4 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDraw2 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _IID_IDirectDraw already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _CLSID_DirectDrawClipper already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _CLSID_DirectDraw7 already defined in exochapitre2.obj
StdAfx.obj : error LNK2005: _CLSID_DirectDraw already defined in exochapitre2.obj
Debug/exochapitre2.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
 
exochapitre2.exe - 17 error(s), 0 warning(s)
 
 
 
est ce que quelqu'un connais le prob?
je vous remercie

Reply

Marsh Posté le 08-09-2001 à 14:06:21   

Reply

Marsh Posté le 08-09-2001 à 14:23:27    

dans les opt du projet ta inclu le fichier .lib ?
ya toujours un fichier lib avec les dll (celles de directx dans ton k je crois)

Reply

Marsh Posté le 08-09-2001 à 14:29:34    

oui, j'ai bien inclu le ddraw.lib en allconfigation ainsi que le rep include de directX SDK,
Je me demande si y'aurai pas un conflit entre les differentes version de directX car on dirait que la version 2,4 et 7 sont en conflit
please help

Reply

Marsh Posté le 08-09-2001 à 14:33:53    

j'avais pas bien regarder... c encore un autre truc chez toi.
tu utilise les truc precompiler a la noi ?

Reply

Marsh Posté le 08-09-2001 à 14:41:19    

"tu utilise les truc precompiler a la noi ? "
 
c a dire, j'ai crée le projet a la main sur visual et j'ai tapé tous le code et debugger la syntaxe.
c quoi le precompiler ?
comment je peux le desactiver?

Reply

Marsh Posté le 08-09-2001 à 14:42:50    

les precompiled headers. ca ma toujours foutu la merde et pour le temps que ca fait gagner.
regarde dans les options du projet.

Reply

Marsh Posté le 08-09-2001 à 14:44:56    

je dois enlever le preprocessor definition dans l'onglet c/c++?

Reply

Marsh Posté le 08-09-2001 à 14:55:24    

C/C++ -> Precompiled Headers -> not use...
 
a l'origine c une redefinition d'une fonction dans deux fichier different.
regarde si ta pas mit differents version de lib

Reply

Marsh Posté le 08-09-2001 à 15:31:59    

TheJackal a écrit a écrit :

C/C++ -> Precompiled Headers -> not use...
 
a l'origine c une redefinition d'une fonction dans deux fichier different.
regarde si ta pas mit differents version de lib  




 
ca change pas grand chose, ah lala, micro$oft c daubé  :fou:

Reply

Marsh Posté le 08-09-2001 à 15:35:33    

Xgirouette a écrit a écrit :

 
 
ca change pas grand chose, ah lala, micro$oft c daubé  :fou:  




Faut lire le manuel.

Reply

Marsh Posté le 08-09-2001 à 15:35:33   

Reply

Marsh Posté le 08-09-2001 à 15:36:16    

c pas dauber faut savoir s'en servir...
en fait les precomp head ya aucun raport je disait sa comme ca.
 
ya un redefinition de fonctions qq part donc cherche
 
au passage: tu a uuid.lib de mit ?

Reply

Marsh Posté le 08-09-2001 à 15:47:40    

Verdoux a écrit a écrit :

 
Faut lire le manuel.  




 
il file les manuels sur ftp  :lol:

Reply

Marsh Posté le 08-09-2001 à 15:50:03    

et tu te trouve drole...

Reply

Marsh Posté le 08-09-2001 à 15:50:27    

Xgirouette a écrit a écrit :

 
 
il file les manuels sur ftp  :lol:  




sans rigoler, j'ai pris un bouquin dirextX, et j'essaye de compiler un exemple que j'ai retapé.
je cherche et je demande au utilisateur aguerri
merci

Reply

Marsh Posté le 08-09-2001 à 15:51:59    

TheJackal a écrit a écrit :

et tu te trouve drole...  




je sais que ce genre d'humour n'est pas tres apprecie ici,
recommencerais plus  :sweat:

Reply

Marsh Posté le 08-09-2001 à 15:57:30    

'StdAfx.obj : error LNK2005: _IID_IDirectDrawGammaControl already defined in exochapitre2.obj'
 
Cette erreur indique que le compilateur à compilé les fichiers exochapitre2.cpp et StdAfx.cpp mais que dans ces deux fichiers il y a la definition d'une varaible appellée 'IID_IDirectDrawGammaControl'.
 
Ceci provoque un erreur à l'édition des liens 'link', c'est à dire lorque que le linker veut rassembler dans l'executable tous les fichiers .obj issus de la compilation des .cpp.
Une variable ne doit être définie que dans un seul fichier du projet.

Reply

Marsh Posté le 08-09-2001 à 16:04:49    

seblamb a écrit a écrit :

'StdAfx.obj : error LNK2005: _IID_IDirectDrawGammaControl already defined in exochapitre2.obj'
 
Cette erreur indique que le compilateur à compilé les fichiers exochapitre2.cpp et StdAfx.cpp mais que dans ces deux fichiers il y a la definition d'une varaible appellée 'IID_IDirectDrawGammaControl'.
 
Ceci provoque un erreur à l'édition des liens 'link', c'est à dire lorque que le linker veut rassembler dans l'executable tous les fichiers .obj issus de la compilation des .cpp.
Une variable ne doit être définie que dans un seul fichier du projet.  




 
 
c exactement ca , au debut du projet j'ai mis les meme  includes dan le fichier stdafx.cpp et  exochapitre2.cpp , je viens de virer celle de stdafx ( qui etaient redondantes), et ca marche
merci seblamb
 
ce forum est vraiment genial , je ne regrette pas de mettre renseigner ici
longue vie au forum d'hardware

Reply

Marsh Posté le 08-09-2001 à 16:46:11    

heureusement ke je l'avait dit...

Reply

Marsh Posté le 08-09-2001 à 17:02:48    

TheJackal a écrit a écrit :

heureusement ke je l'avait dit...  




 
merci a tous, j'avais pas tous compris  :crazy:

Reply

Marsh Posté le 08-09-2001 à 17:04:16    

TheJackal a écrit a écrit :

C/C++ -> Precompiled Headers -> not use...
 
a l'origine c une redefinition d'une fonction dans deux fichier different.
regarde si ta pas mit differents version de lib  




 
ok j'ai capté pour les 2 fichiers

Reply

Marsh Posté le 08-09-2001 à 17:06:54    

j'avait pas tout a fait bien expliker peut etre.
faut dire que je vois comment c dans ma tete mais pour expliker c autre chose.
 
ta pas la doc MSDN. c pratique pour savoir dou viennent les erreurs.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed