[c++] multiple defintion

multiple defintion [c++] - C++ - Programmation

Marsh Posté le 01-05-2005 à 14:58:44    

Bonjour,
J'ai une erreur assez bizarre lors du link de mes différents .o .
Voilà mon programme :
 
truc.hpp

Code :
  1. #ifndef HEADER_TRUC_
  2. #define HEADER_TRUC_
  3. int variable_globale;
  4. class une_classe
  5. {
  6. // ... avec plein de trucs ici
  7. }
  8. #endif


 
truc.cpp

Code :
  1. #include "truc.hpp"
  2. //etc


 
main.cpp

Code :
  1. #include "truc.hpp"
  2. //etc


 
Et du coup, j'obtient une "multiple definition" de "variable_globale" ... Bizarre, j'ai pourtant protégé mon headers ... :heink:


Message édité par thoduv le 01-05-2005 à 14:59:07
Reply

Marsh Posté le 01-05-2005 à 14:58:44   

Reply

Marsh Posté le 01-05-2005 à 15:05:59    

la protection d'un header ne joue que sur la compilation d'un source. ton probleme est au niveau de l'edition des lien ou le linker te signal plusieurs definition du symbole 'variable_globale'.
 
declare dans le header truc.hpp
extern int variable_globale;
 
et defini dans le source truc.cpp
int variable_globale;

Reply

Marsh Posté le 01-05-2005 à 15:07:48    

Merci beaucoup !

Reply

Marsh Posté le 01-05-2005 à 15:10:58    

et n'oublie pas d'initialiser dans ton .cpp

Reply

Sujets relatifs:

Leave a Replay

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