erreur multiple definitions

olivier555

Membre confirmé
11 Janvier 2005
20
0
Bonjour,
Je comprends pas, je développe sur Project Builder en Cocoa (objective-C++) et lorsque je mets le header qui définit mes variables le compilo me sort "ld: multiple definitions of symbol _Truc", et, évidemment, si je mets pas le header j'ai droit à un "undeclared identifer first use in this function". Donc en gros ca marche jamais! Voilà, si vous avez une idée, merci beaucoup ça me sauverait!!
Tcho tcho!
 
olivier555 a dit:
Bonjour,
Je comprends pas, je développe sur Project Builder en Cocoa (objective-C++) et lorsque je mets le header qui définit mes variables le compilo me sort "ld: multiple definitions of symbol _Truc", et, évidemment, si je mets pas le header j'ai droit à un "undeclared identifer first use in this function". Donc en gros ca marche jamais! Voilà, si vous avez une idée, merci beaucoup ça me sauverait!!
Tcho tcho!

Je ne connais pas trop Obj-C qui me donne des boutons...

Mais je me refere au C.

Dans ton header tes variabls globales sont bien définies "extern" ?

En C, quand tu veut qu'une variable soit partagée, tu vas déclarer par exemple :

Dans le fichier .c

long MaVariableGlobale;

Dans le .h
extern long MaVariableGlobale;


Cordialement
 
Bonjour,
dans les headers C++, il ne faut pas oublier de mettre des gardes contre la double inclusion:
Bloc de code:
#ifndef _NOM_DE_MON_HEADER_
#define _NOM_DE_MON_HEADER_

/* code */

#endif
Pour les headers obj-c, ce n'est pas necéssaire si tu utilises la commande "#import" au lieu de "#include"