Bonjour,

Je vous présente mon problème.

Je suis en train de faire un jeux à l'aide de la librairie allegro. J'ai jusqu'à présent travaillé sur Windows mais j'ai voulu passer sur Linux. Je voudrais utiliser un makefile pour pouvoir me passer d'IDE.

J'ai le makefile suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
jeux: affichage.o chargements.o main.o
	gcc -o jeux affichage.o chargements.o main.o
 
affichage.o: affichage.c
	gcc -o affichage.o -c affichage.c `allegro-config --libs` -W -Wall -ansi -pedantic
 
chargements.o: chargements.c
	gcc -o chargements.o -c chargements.c `allegro-config --libs` -W -Wall -ansi -pedantic
 
main.o: main.c affichage.h chargements.h
	gcc -o main.o -c main.c `allegro-config --libs` -W -Wall -ansi -pedantic
Mais j'ai plein d'erreurs du genre "undefines reference to ..." (des fonctions d'allegro).

J'ai fais un test avec un fichier tout petit, celui-ci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <allegro.h>
 
int main(){
 
	allegro_init();
	install_keyboard();
	install_mouse();
	set_color_depth(16);
	set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);
 
 
 
	return 0;
}
en compilant avec la commande suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
gcc -o jeux main.c `allegro-config --libs`
et ça fonctionne.

Auriez-vous une idée d'où vient le problème ?