Retour à SDL après 10 ans d'absence
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:
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 :
Code:
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 |
L'erreur est :
Code:
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;
| ^~~~ |