Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
sdl [Le 11/08/2015, 14:20] – [Installer la version pour les développeurs] (libsdl2-dev) grigouille | sdl [Le 31/01/2021, 21:56] (Version actuelle) – [Bibliothèques complémentaires] plus de lisibilité et de cohérence Amiralgaby | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== SDL : Simple DirectMedia Layer ====== | ||
+ | |||
+ | La [[http:// | ||
+ | Elle a notamment été utilisée pour le portage du jeu [[wpfr> | ||
+ | |||
+ | Cette page traite des 2 versions de la SDL. | ||
+ | |||
+ | La bibliothèque est compatible avec le langage C++ nativement et possède des bindings pour d' | ||
+ | |||
+ | Elle possède plusieurs bibliothèques annexes gérant chacune des éléments additionnels : images, polices, réseau, sons, etc | ||
+ | ===== Pour une utilisation simple ===== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | La **[[apt> | ||
+ | (voir plus bas pour une utilisation simple des librairies complémentaires) | ||
+ | |||
+ | ===== Installation complète | ||
+ | |||
+ | 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 | ||
+ | |||
+ | ===== Installer la version pour les développeurs ===== | ||
+ | |||
+ | |||
+ | [[: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Compiler un programme en C/SDL avec GCC ou g++===== | ||
+ | |||
+ | Placez-vous dans le répertoire où sont enregistrées vos sources. L' | ||
+ | |||
+ | 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.** | ||
+ | |||
+ | Simplement, sans modifier la variable [[: | ||
+ | |||
+ | ./ | ||
+ | |||
+ | ===== Bibliothèques complémentaires ===== | ||
+ | |||
+ | Vous pouvez trouver une liste complète des librairies annexes avec cette commande : | ||
+ | |||
+ | sudo apt search libsdl | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Le tableau ci-dessous contient des liens pour télécharger les paquets des librairies annexes de la SDL1 : | ||
+ | |||
+ | ^ Nom ^ Utilité ^ installation stable SDL1 ^ installation dev SDL1 ^ | ||
+ | |mixer| gestion de l' | ||
+ | |ttf| écrire sur la fenêtre| **[[apt> | ||
+ | |image| gestion d' | ||
+ | |net| gestion du réseau| **[[apt> | ||
+ | |gfx| dessin/ | ||
+ | |sound| format des fichiers sonores| **[[apt> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Celui-ci pour les bibliothèques annexes de SDL2 | ||
+ | |||
+ | Toutes bibliothèques SDL2 sont classifiées ainsi : __libsdl2-**nom**-2.0-0__ pour les versions stable et __libsdl2-**nom**-dev__ pour celles en développement. Grâce à cette indexage vous pouvez les installer facilement depuis un terminal. | ||
+ | |||
+ | ^ Nom ^ Utilité ^ installation stable SDL2 ^ installation dev SDL2 ^ | ||
+ | |mixer| gestion de l' | ||
+ | |ttf| écrire sur la fenêtre| **[[apt> | ||
+ | |image| gestion d' | ||
+ | |net| gestion du réseau| **[[apt> | ||
+ | |gfx| dessin/ | ||
+ | |||
+ | ==== SDL_mixer (Audio) ==== | ||
+ | Cette librairie annexe permet la gestion de l' | ||
+ | |||
+ | |||
+ | ==== SDL_tff (Écriture dans fenêtre graphique)==== | ||
+ | Cette librairie est utile pour écrire dans une fenêtre, elle s' | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Vous aurez besoin de polices d' | ||
+ | Voici des sites où vous pouvez trouver vos polices libres : [[https:// | ||
+ | |||
+ | ==== SDL_image (gestion des images) ==== | ||
+ | Cette librairie permet de charger des images, d' | ||
+ | [[https:// | ||
+ | |||
+ | ==== SDL_net (gestion des paquets/ | ||
+ | Cette librairie permet de former des sockets et des paquets pour les protocoles TCP et UDP [[https:// | ||
+ | |||
+ | ===== Compiler vos programmes SDL avec des librairies annexes ===== | ||
+ | < | ||
+ | Toutes les librairies se link en respectant ce modèle : '' | ||
+ | |||
+ | Par exemple : | ||
+ | gcc -o prog fichier1.c fichier2.c `sdl-config --cflags --libs` -lSDL_mixer | ||
+ | gcc -o prog fichier1.c fichier2.c `sdl2-config --cflags --libs` -lSDL2_ttf | ||
+ | |||
+ | ===== Pour aller plus loin ===== | ||
+ | |||
+ | 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 : | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | Voir aussi, si pour préférez [[: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // |