Erreur ld

Erreur ld - C - Programmation

Marsh Posté le 09-01-2006 à 17:32:13    

salut,
 
j'ai un petit probleme avec un petit code c
j'ai cette erreur :
ld: multiple definitions of symbol _codeRepet
compress.o definition of _codeRepet in section (__DATA,__data)
dcompress.o definition of _codeRepet in section (__DATA,__data)
ld: multiple definitions of symbol _nbreRepet
compress.o definition of _nbreRepet in section (__DATA,__data)
dcompress.o definition of _nbreRepet in section (__DATA,__data)
make: *** [pgm] Error 1
 
et je voudrais savoir a quoi cela peut bien etre dû.
 
Merci de votre aide.

Reply

Marsh Posté le 09-01-2006 à 17:32:13   

Reply

Marsh Posté le 09-01-2006 à 17:34:41    

poste la partie concernée du code

Reply

Marsh Posté le 10-01-2006 à 12:28:56    

bonjour
comme le message semble le suggérer, tu dois définir 2 fois une variable globale s'appelant codeRepet et nbreRepet ou alors tu définis 2 fois des fonctions de ce nom. Si ce sont des variables, dans un des fichiers source il faut déclarer réellement la variable, dans l'autre il faut y faire une référence par un extern
si ce sont des fonctions, déclarer et définir une seule fois la fonction là où il y a le source, et la déclarer par un extern là ou elle est utilisée mais non codée.
Dans le cas où il y a deux définitions différentes pour un même nom dans 2 fichiers différents, déclarer dans chaque fichier la fonction par un static limitant ainsi sa visibilité au seul fichier source la définissant.
vu qu'il s'agit du segment data, je pense que ceux sont des variables.
donc dans compress.c
int codeRepet;
dans dcompress.c
extern int codeRepet;
en supposant que c'est de l'entier

Reply

Sujets relatifs:

Leave a Replay

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