Erreur redéfinition fonction
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:
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:
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:
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:
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.