07/03/2018

SDL2

Paquets qui vont bien

Va dans ton gestionnaire de paquets Synaptic et installe libsdl1.2-dev. Après pour installer SDL_image par exemple, tu installe libsdl-image1.2-dev, pour TTF la libsdl-ttf2.0-dev etc… Il y a aussi des paquets sans le -dev, moi je les ai installés mais si tu es un peu radin niveau espace mémoire, je ne suis pas sûr qu’ils soient obligatoires

Ajouter la lib des polices et executer avec gcc

Simple Example for compiling to an object file: gcc -c sdl-config --cflags mysource.c

Simple Example for linking an executable (Unix style has no .exe):

gcc -o myprogram mysource.o sdl-config --libs -lSDL_ttf

Import police

  1. Vérifier que le chemin (path) soit correct:

Dans ton cas, tu l’as fait.

  1. Vérifier la version des paquets que tu utilises:

Si vous utilisez SDL2 quelque part alors il faudra quoi qu’il advienne utiliser la version SDL2 de SDL_TTF sinon cela créer un conflit.

Comment obtenir cette version sur linux :

sudo apt-get install libsdl2-ttf-dev
  1. Linker correctement la version SDL2 de SDL_TTF (dans makefile ou autre):

dans ton cas : -lSDL2_image -lSDL2_ttf

Il peut arriver que l’ajout du link suivant -lSDL2 soit nécessaire

importer la police dans le code

/* Chargement de la police */
if((police = TTF_OpenFont("./police/game_over.ttf", 62)) == NULL){
    printf("TTF_OpenFont: %s\n", TTF_GetError());
    goto Quit;
}


/* Écriture du texte dans la SDL_Surface texte en mode Blended (optimal) */
if((texte = write("Wait...", texte, police, couleurNoire, position, pSurf)) == NULL){
    printf("Erreur ecriture\n");
    goto Quit;
}

    SDL_Surface *pSurf = SDL_GetWindowSurface(ecran);




TTF_CloseFont(police);
TTF_Quit();

SDL_FreeSurface(texte);
SDL_Quit();