Bonjour,

J'utilise eclipe comme IDE et pour compiler, je dois faire un makefile. J'ai lu le tuto sur le makefile et pour 4 fichiers sa marchais mais plus à 6...

voici la commande que je dois traduire dans mon makefile:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
g++  -o jeu main.cpp jeu.cpp afficheMap.cpp jeu.h afficheMap.h  -L/usr/X11R6/lib -lSDL -lSDLmain -lSDL_image
Voici mon makefile apres plusieurs modification:
CC=g++
EXEC=main
LDFLAGS=-L/usr/X11R6/lib -lSDL -lSDLmain -lSDL_image

all: $(EXEC)

afficheMap.o: afficheMap.cpp
$(CC) -o afficheMap.o afficheMap.cpp $(LDFLAGS)

jeu.o: jeu.cpp
$(CC) -o jeu.o jeu.cpp $(LDFLAGS)

main: afficheMap.o jeu.o main.cpp
$(CC) -o main.cpp afficheMap.o afficheMap.cpp $(LDFLAGS)
Le fichier constante.h est appeler par jeu.h et par afficheMap.h, main.cpp appelle jeu.h qui appelle son .cpp et jeu.cpp appelle afficheMap.h qui lui aussi appelle son .cpp

Voici l'erreur que me produit le makefile ci-haut:
make -k all
g++ -o afficheMap.o afficheMap.cpp -L/usr/X11R6/lib -lSDL -lSDLmain -lSDL_image
/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crt1.o: In function `_start':
g++ -o jeu.o jeu.cpp -L/usr/X11R6/lib -lSDL -lSDLmain -lSDL_image
(.text+0x18): undefined reference to `main'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [afficheMap.o] Erreur 1
/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
/tmp/ccqUDuDx.o: In function `jouer(SDL_Surface*)':
jeu.cpp.text+0x307): undefined reference to `afficheMap(int (*) [12], SDL_Surface*, SDL_Surface*, SDL_Surface*, SDL_Surface*, SDL_Surface*, SDL_Surface*)'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [jeu.o] Erreur 1
make: La cible « all » n'a pas pu être refabriquée à cause d'erreurs.
Merci de votre aide