Bonjour tout le monde,

Mon problème est le suivant:
Je définis dans <compile.h> une variable global <init_compile>.
J'inclus ce .h , pour me servir de la variable <init_compile>, dans differents .c , qui vont devenir des fichiers objets .o.

Là, tout se passe bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
cc -c -g -DPC -DUNIXIO -I./include -I/usr/include/X11R6 ./src/lib/compile_watersheed.c -o ./linux/obj/compile_watersheed.o
cc -c -g -DPC -DUNIXIO -I./include -I/usr/include/X11R6 ./src/lib/xutile.c -o ./linux/obj/xutile.o
En revanche, lorsque je compile l'executable se servant des .o alors j'ai ce message d'erreur.

Alors j'ai un message de compilation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
cc -g -DPC -DUNIXIO -I./include ./src/com/xfeudeforet.c ./linux/obj/compile_action.o  ./linux/obj/action.o  ./linux/obj/memimage.o ./linux/obj/data.o ./linux/obj/compile_watersheed.o  ./linux/obj/xutile.o -lm -o ./linux/bin/xfeudeforet
./linux/obj/xutile.o(.bss+0x0): In function `complement_sentinelle':
src/lib/xutile.c:12: définitions multiples de « init_compile »
./linux/obj/compile_watersheed.o(.bss+0x0):src/lib/compile_watersheed.c:14: défini pour la première fois ici
collect2: ld a retourné 1 code d'état d'exécution
make: *** [linux/bin/xfeudeforet] Erreur 1
Pouvez-vous m'aider,
merci