| 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 stockageinitvar.c:6: erreur: conflicting types for pPalettevar.h:22: erreur: previous declaration of pPalette was hereinitvar.c:6: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.c:6: attention : (near initialization for pPalette)initvar.c:6: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.c:6: attention : (near initialization for pPalette)initvar.c:6: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.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 stockageinitvar.c:7: erreur: conflicting types for pBallevar.h:23: erreur: previous declaration of pBalle was hereinitvar.c:7: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.c:7: attention : (near initialization for pBalle)initvar.c:7: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.c:7: attention : (near initialization for pBalle)initvar.c:7: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.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 stockageinitvar.c:8: erreur: conflicting types for pChargevar.h:27: erreur: previous declaration of pCharge was hereinitvar.c:8: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.c:8: attention : (near initialization for pCharge)initvar.c:8: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.c:8: attention : (near initialization for pCharge)initvar.c:8: attention : éléments en excès dans l'initialisation d'un scalaireinitvar.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 stockageinitvar.c:16: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:17: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:18: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:19: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:20: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:20: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:21: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:21: erreur: conflicting types for vitvar.h:39: erreur: previous declaration of vit was hereinitvar.c:22: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:22: erreur: conflicting types for sens1var.h:39: erreur: previous declaration of sens1 was hereinitvar.c:23: attention : la définition de données n'a pas de type ni de classe de stockageinitvar.c:23: erreur: conflicting types for sens2var.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
 |