Bonjour,
Je travaille actuellement sur un projet en c++ et je souhaite utiliser des fichiers autre que le principal, j'ai donc un fichier .h et un fichier .cpp. Mais le problème c'est quand je compile le tout j'ai un message d'erreur :
or les numéros de lignes sont les mêmes et correspondent à une accolade ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 error: redefinition of `int clavier()' error: `int clavier()' previously defined here
Le moteur.h
Le moteur .cpp
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 #pragma once #ifndef MOTEUR_H #define MOTEUR_H #include <GL/gl.h> #include <SDL/SDL.h> double anglez = 0; double anglex = 0; double posx = 0.5; double posy = 0.5; double posz = -1; bool tourner = true; bool deplac = true; SDL_Event event; int camera=1; int clavier(); #include "moteur.cpp" #endif //MOTEUR_H
et le main.cpp
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89 #include "moteur.h" #include <SDL/SDL.h> #include <GL/gl.h> #include <GL/glu.h> #include <cstdlib> int clavier() { while (SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: break; case SDL_KEYDOWN: switch (event.key.keysym.sym) { case SDLK_ESCAPE: exit(0); break; case SDLK_1: camera=1; break; case SDLK_2: camera=2; break; case SDLK_3: camera=3; break; case SDLK_t: if (!tourner) { tourner = true; break; } if(tourner) { tourner = false; anglez = 0; anglex = 0; break; } case SDLK_UP: if ((event.key.keysym.mod & KMOD_LSHIFT) == KMOD_LSHIFT) { posx--; if (posx<-19) posx=-19; } break; case SDLK_DOWN: if ((event.key.keysym.mod & KMOD_LSHIFT) == KMOD_LSHIFT) { posx++; if (posx>19) posx=19; } break; case SDLK_LEFT: if ((event.key.keysym.mod & KMOD_LSHIFT) == KMOD_LSHIFT) { posy--; if (posy<-19) posy=-19; } else { anglez++; } break; case SDLK_RIGHT: if ((event.key.keysym.mod & KMOD_LSHIFT) == KMOD_LSHIFT) { posy++; if (posy>19) posy=19; } else { anglez--; } break; } break; } } return 0; }
tout du moins car le code est trop important
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <SDL/SDL.h> #include <GL/gl.h> #include <GL/glu.h> #include <cstdlib> #include <string> //Permet de créer des chaines de caracteres #include <fstream> //Permet la manipulation des fichiers #include <conio.h> #include "sdlglutils.h" #include "moteur.h" void Dessiner(); void importobjmodif(const char * coordfile, const char * ordrefile); void repere();
C'est pas la première fois que j'ai cette erreur, donc si vous avez des idées merci de bien vouloir m'aider.
Partager