castorgris ===>Miaou<=== | Bonsoir, Le problème est simple, j'ai un programme que j'ai couper en plusieurs fichier .cpour le compiler à l'aide d'un makefile.De plus il y a tout un tas de variable qui sont utilisé dans plusieurs des fichiers. je les ai donc déclarées dans un header, que j'inclue dans chaque source.J'ai aussi regroupé les initialisations dans un .c, mais c'est là que ça ne marche plus. voici le code incriminé : var.h :
Code :
- #ifndef VAR_H
- #define VAR_H
- #include <stdio.h>
- #include <stdlib.h>
- #include <SDL/SDL_getenv.h> /* bibli permettant d'avoir putevent*/
- #include <SDL/SDL.h>
- #include <SDL/SDL_image.h>
- #include <SDL/SDL_framerate.h> /*initialisation de la lib pour la gestion des fps*/
- /* variables globales du jeux*/
- #define VIT 3
- #define WINX 800
- #define WINY 650
- #define FPS_LIMIT 40
- #define VIE 25
- /* les coordonnées des images*/
- SDL_Rect pPalette;
- SDL_Rect pBalle;
- SDL_Rect pFond;
- SDL_Rect pBriques;
- SDL_Rect pGagne;
- SDL_Rect pCharge;
- SDL_Rect pPerd;
- /* Les diff�rentes variables pour le bon deroulement du jeu*/
- FPSmanager manager;
- int game,score,fin,tab ,vie;
- SDL_Surface *perdu;
- SDL_Surface *Screen;
- int x,y,i;
- SDL_Surface *brique[5],*raquet,*balle,*fond,*charge,*gagne;
- float vit,sens1,sens2;
- SDL_Event event;
- #endif
| et initvar.c Code :
- #include "var.h"
- /* les coordonnées des images*/
- pPalette={0,0,0,0};
- pBalle={0,0,0,0};
- pCharge={80,100,0,0};
- /* Les diff�rentes variables pour le bon deroulement du jeu*/
- game=1;
- score=0;
- fin=1;
- tab=0;
- vie=VIE;
- x=0;y=0;
- vit=VIT;
- sens1=0;
- sens2=1;
- /* les differentes positions des briques sur 5 niveaux*/
- unsigned char placement[10][10]={
- 0,1,4,2,3,3,2,4,1,0,
- 2,1,3,0,0,0,0,3,2,2,
- 0,0,0,3,4,4,3,0,0,0,
- 0,4,3,2,1,1,2,3,4,0,
- 2,1,3,0,0,0,0,3,2,2,
- 0,2,0,3,4,4,3,0,2,0,
- 1,0,0,3,4,4,3,0,0,1,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
- };
- unsigned char placement1[10][10]={
- 4,1,0,2,3,3,2,0,1,4,
- 2,1,3,0,0,1,0,3,2,2,
- 0,3,0,3,4,4,3,0,3,0,
- 0,4,0,2,0,1,0,3,0,4,
- 0,1,3,0,1,0,0,3,2,1,
- 0,2,4,3,0,0,3,4,2,0,
- 1,0,0,3,4,4,3,0,0,1,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
- };
- unsigned char placement2[10][10]={
- 0,1,4,2,0,0,2,4,1,0,
- 2,0,0,2,1,1,2,0,0,2,
- 4,1,0,3,0,0,3,0,1,4,
- 0,4,3,2,1,1,2,3,4,0,
- 2,0,4,0,1,1,0,4,0,2,
- 1,0,0,3,4,4,3,0,0,1,
- 4,2,0,1,0,0,1,0,2,4,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
- };
- unsigned char placement3[10][10]={
- 2,0,4,2,1,1,2,4,0,2,
- 2,1,3,0,0,0,0,3,2,2,
- 0,0,0,3,4,4,3,0,0,0,
- 2,0,4,0,1,1,0,4,0,2,
- 2,1,3,0,2,2,0,3,2,2,
- 1,0,0,3,4,4,3,0,0,1,
- 4,1,0,3,0,4,3,0,1,4,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
- };
- unsigned char placement4[10][10]={
- 1,0,3,2,0,3,2,0,0,1,
- 2,1,3,4,0,0,4,3,1,2,
- 0,1,0,3,0,0,3,0,1,0,
- 2,0,4,0,0,0,0,4,0,2,
- 2,0,3,0,2,2,0,3,0,2,
- 1,0,4,3,2,2,3,4,0,1,
- 0,1,2,3,4,4,3,2,1,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
- };
| à la compilation , j'ai des erreurs du type :
Code :
- initvar.c:6: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:6: erreur: conflicting types for pPalette
- var.h:22: erreur: previous declaration of pPalette was here
- initvar.c:6: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:6: attention : (near initialization for pPalette)
- initvar.c:6: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:6: attention : (near initialization for pPalette)
- initvar.c:6: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:6: attention : (near initialization for pPalette)
- initvar.c:7: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:7: erreur: conflicting types for pBalle
- var.h:23: erreur: previous declaration of pBalle was here
- initvar.c:7: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:7: attention : (near initialization for pBalle)
- initvar.c:7: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:7: attention : (near initialization for pBalle)
- initvar.c:7: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:7: attention : (near initialization for pBalle)
- initvar.c:8: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:8: erreur: conflicting types for pCharge
- var.h:27: erreur: previous declaration of pCharge was here
- initvar.c:8: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:8: attention : (near initialization for pCharge)
- initvar.c:8: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:8: attention : (near initialization for pCharge)
- initvar.c:8: attention : éléments en excès dans l'initialisation d'un scalaire
- initvar.c:8: attention : (near initialization for pCharge)
- initvar.c:15: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:16: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:17: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:18: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:19: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:20: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:20: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:21: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:21: erreur: conflicting types for vit
- var.h:39: erreur: previous declaration of vit was here
- initvar.c:22: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:22: erreur: conflicting types for sens1
- var.h:39: erreur: previous declaration of sens1 was here
- initvar.c:23: attention : la définition de données n'a pas de type ni de classe de stockage
- initvar.c:23: erreur: conflicting types for sens2
- var.h:39: erreur: previous declaration of sens2 was here
| Si quelqu'un voit une erreur ... Merci d'avance. PS compilation avec gcc dernière version Message édité par castorgris le 02-06-2007 à 10:54:45
|