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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
error: redefinition of `int clavier()'
error: `int clavier()' previously defined here
or les numéros de lignes sont les mêmes et correspondent à une accolade ????
Le moteur.h
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
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
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;
}
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
#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();
tout du moins car le code est trop important

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.