Bonjour,

il semblerait que c'est un problème classique mais :

1. je ne comprends pas pourquoi j'ai ce problème
2. je n'arrive pas à solutionner mon problème

Donc voici ce que je fais. J'ai un fichier header dont plusieur .c se servent. J'ai pour chacun de mes blocs de variables définit des conditions comme l'indique ce tuto : http://melem.developpez.com/langagec/objc/
en dessous de l'erreur une partie du code.
et pourtant j'ai l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
./demo2.o:(.data+0x8): multiple definition of `affiche_magnifique'
./demo1.o:(.data+0x8): first defined here
./demo2.o:(.data+0x4): multiple definition of `sourisCapteur'
./demo1.o:(.data+0x4): first defined here
./demo2.o:(.bss+0x0): multiple definition of `demo_index'
./demo1.o:(.bss+0x0): first defined here
./demo2.o:(.data+0x0): multiple definition of `demo_max'
./demo1.o:(.data+0x0): first defined here
./demo2.o:(.bss+0x4): multiple definition of `ticks'
./demo1.o:(.bss+0x4): first defined here
./demo2.o:(.bss+0x8): multiple definition of `timer'
./demo1.o:(.bss+0x8): first defined here
./demo2.o:(.bss+0xc): multiple definition of `fullscreen'
./demo1.o:(.bss+0xc): first defined here
./demo3.o:(.data+0x8): multiple definition of `affiche_magnifique'
./demo1.o:(.data+0x8): first defined here
./demo3.o:(.data+0x4): multiple definition of `sourisCapteur'
./demo1.o:(.data+0x4): first defined here
./demo3.o:(.bss+0x0): multiple definition of `demo_index'
./demo1.o:(.bss+0x0): first defined here
./demo3.o:(.data+0x0): multiple definition of `demo_max'
./demo1.o:(.data+0x0): first defined here
./demo3.o:(.bss+0x4): multiple definition of `ticks'
./demo1.o:(.bss+0x4): first defined here
./demo3.o:(.bss+0x8): multiple definition of `timer'
./demo1.o:(.bss+0x8): first defined here
./demo3.o:(.bss+0xc): multiple definition of `fullscreen'
./demo1.o:(.bss+0xc): first defined here
 
 
[..]
 
 
./demo1.o:(.bss+0xc): first defined here
./demo4.o:(.data+0x8): multiple definition of `affiche_magnifique'
./demo1.o:(.data+0x8): first defined here
./main.o:(.bss+0xc): multiple definition of `fullscreen'
./demo1.o:(.bss+0xc): first defined here
./main.o:(.bss+0x0): multiple definition of `demo_index'
./demo1.o:(.bss+0x0): first defined here
./main.o:(.data+0x4): multiple definition of `sourisCapteur'
./demo1.o:(.data+0x4): first defined here
./main.o:(.data+0x0): multiple definition of `demo_max'
./demo1.o:(.data+0x0): first defined here
./main.o:(.data+0x8): multiple definition of `affiche_magnifique'
./demo1.o:(.data+0x8): first defined here
./main.o:(.bss+0x4): multiple definition of `ticks'
./demo1.o:(.bss+0x4): first defined here
./main.o:(.bss+0x8): multiple definition of `timer'
./demo1.o:(.bss+0x8): first defined here

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
#ifndef H_VAR
 
#define H_VAR
int demo_index = 0, 			// Index de la demo en cours
    demo_max   = 4, 			// Nombre de démos maximum
    ticks      = 0,			// Variable de temps pour le moteur physique
    timer      = 0;			// Timer 1
 
#endif
 
 
GLuint texID[2];			// buffer pour la texture
 
int X_pos,
    Y_pos;				// position de la souris
 
 
#ifndef H_PAR
 
#define H_PAR
 
int sourisCapteur      = 1,		// Choix entre le mode souris et le mode capteurs
    fullscreen         = 0,		// Mode plein ecran
    affiche_magnifique = 1;		// Choix d'afficher le logo ou non
 
#endif
 
 
 
float capteur_norm[NB_CAPTEURS+1];	// donnees des faux capteurs normalisees (pour le mode souris)
et je n'ai aucun souci avec et et
Je ne comprends pas
Pour aider, voici le fichier de sh de mon build.sh :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
gcc -c -O3 -std=gnu99 -ffast-math src/cp*.c src/chipmunk.c ./*.c -Isrc
g++ -c maincpp.cpp usbdevice.cxx
g++ -O3 -std=gnu99 -ffast-math ./*.o -Isrc -lglut  -lpng -lusb -lpthread -o alldemos
Merci d'avance