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:Voici mon makefile apres plusieurs modification:
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
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 .cppCC=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)
Voici l'erreur que me produit le makefile ci-haut:
Merci de votre aidemake -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.
Partager