Bonjour
Je reviens sur mes très anciens codes de test que j'avais fait en SDL et j'essaie à nouveau de les compiler. J'ai du me refaire un makefile :
Code Makefile : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 CC=gcc CFLAGS= -W -Wall $(shell sdl-config --cflags) LDFLAGS=-export-dynamic $(shell sdl-config --libs) EXEC=perso SRC= $(wildcard *.c) OBJ= $(SRC:.c=.o) all: $(EXEC) $(EXEC) : $(OBJ) $(CC) -o $@ $^ $(LDFLAGS) %.o: %.c include.h $(CC) -o $@ -c $< $(CFLAGS)
Première découverte, c'est la sortie de SDL2, si je tente une compilation avec SDL2, j'ai beaucoup plus d'erreurs car il ne reconnaît pas SDL_HWSURFACE ou SDL_DOUBLEBUF par exemple. Est-ce que la migration est facile ?
Après, j'ai mis sdl à la place de sdl2 dans les commandes. Cette fois, j'ai un problème : les variables de type bool ne sont pas reconnues. Il manque quoi et où ?
Les biblithèques que j'ai mises sont :
L'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #ifdef __cplusplus #include <cstdlib> #else #include <stdlib.h> #endif #ifdef __APPLE__ #include <SDL/SDL.h> #else #include <SDL.h> #endif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 main.c: Dans la fonction «*main*»: main.c:48:5: erreur: nom de type «*bool*» inconnu 48 | bool done = false; | ^~~~ main.c:48:17: erreur: «*false*» non déclaré (première utilisation dans cette fonction); vouliez-vous utiliser «*fclose*»*? 48 | bool done = false; | ^~~~~ | fclose main.c:48:17: note: chaque identificateur non déclaré est rapporté une seule fois pour chaque fonction dans laquelle il apparaît main.c:60:24: erreur: «*true*» non déclaré (première utilisation dans cette fonction) 60 | done = true; | ^~~~
Partager