Ceci est une ancienne révision du document !



SDL : Simple DirectMedia Layer

La SDL (Simple DirectMedia Layer) est une Bibliothèque logicielle permettant de développer des programmes gérant le son, la vidéo, le clavier, la souris et le lecteur CD. Elle a notamment été utilisée pour le portage du jeu Civilization II sous Linux et le jeu Doom sous BeOS.

La bibliothèque est compatible avec le langage C++ nativement et des bindings pour d'autres langages (la liste complète est disponible sur le site officiel).

Elle possède plusieurs bibliothèques annexes gérant chacune des éléments additionnels : images, polices, réseau, sons, etc

Installez le paquet libsdl1.2debian.

(voir plus bas pour une utilisation simple des librairies complémentaires)

Utiliser la commande suivante pour installer SDL2 avec toutes ces libraires:

sudo apt install libsdl2-2.0-0 libsdl2-gfx-1.0-0 libsdl2-image-2.0-0 libsdl2-mixer-2.0-0 libsdl2-net-2.0-0 libsdl2-ttf-2.0-0

Installez le paquet libsdl2-dev pour utiliser SDL2 mais le paquet libsdl1.2-dev est toujours utilisable.

Placez-vous dans le répertoire où sont enregistrées vos sources. L'installation d'SDL fourni un petit script sdl-config qui, appelé avec les paramètres –cflags ou –libs, renseigne correctement le compilateur. tapez alors :

gcc -o executable fichier1.c fichier2.c fichier3.c ...  `sdl-config --cflags --libs` 

gcc peut etre remplacé par g++ si vous programmez en C++.

Pour compiler plusieurs fichiers séparément puis les linker, utilisez :

gcc -c -Wall -Wextra main.c `sdl-config --cflags`
gcc -c -Wall -Wextra fichier1.c `sdl-config --cflags`
gcc -o executable main.o fichier1.o `sdl-config --libs`

Si vous avez installé le paquet libsdl2-dev et que vous programmez avec SDL2, utilisez sdl2-config au lieu de sdl-config.

Une fois la compilation terminée, vous pourrez lancer votre programme avec :

PATH=.:$PATH
executable

Ou, plus simplement, sans modifier la variable PATH, avec :

./executable

Pour installer SDL_image, SDL_ttf et SDL_mixer: installez les paquets

Version stable : apt://libsdl-image1.2,libsdl-mixer1.2, libsdl-ttf2.0-0, libsdl-mixer1.2.

Version en développement : apt://libsdl-image1.2-dev , libsdl-mixer1.2-dev, libsdl-ttf2.0-dev.

Les options respectives à ajouter à la compilation avec GCC (après -lSDLmain -lSDL ou -lSDL2main -lSDL2) sont :

-lSDL_image # pour SDL_image
-lSDL_ttf # pour SDL_ttf
-lSDL_mixer # pour SDL_mixer

Si vous utilisez la version 2 d'une bibliothèque :

-lSDL2_ttf # par exemple pour SDL2_ttf

SDL_mixer (Audio)

Cette librairie annexe permet la gestion de l'audio site officiel de cette librairie

Pour l'installer :

Pour compiler votre programme avec cette bibliothèque vous devez ajouter le link -lSDL_mixer ou -lSDL2_mixer

Exemple si vous développez avec SDL2 et SDL2_mixer :

gcc -o my_program fichier1.c fichier2.c `sdl2-config --cflags --libs` -lSDL2_mixer

SDL_tff (écriture dans fenêtre graphique)

Cette librairie est utile pour écrire dans une fenêtre, elle s'appuie sur freetype2 (donc il faut freetype2) Elle a besoin de polices d'écriture, voici des sites où vous pouvez trouver vos polices libres : Google Fonts , FontSquirrel.com , Fontain.org

Pour l'installer :

Pour compiler votre programme avec SDL_ttf, vous devez ajouter le link -lSDL_ttf ou -lSDL2_ttf

Exemple si vous utilisez SDL2 et SDL2_ttf

gcc -o my_program fichier1.c fichier2.c `sdl2-config --cflags --libs` -lSDL2_ttf

Si vous savez déjà programmer en C/C++ et que vous voulez apprendre à utiliser la SDL pour vos programmes, il y a de très bons tutoriels :

Voir aussi, si pour préférez python, la librairie pygame


Contributeurs : lost-in-the-shell, sully.

  • sdl.1603203879.txt.gz
  • Dernière modification: Le 20/10/2020, 16:24
  • par Amiralgaby