La librairie SFML est une librairie permettant le développement d’applications multimédias. Cette librairie écrite en C++ mais également dans d’autres langages se veut être une alternative objet à SDL.
Elle est composé de différents modules à savoir :
- module système : il gère l’horloge et les threads
- module graphique : tout ce qui est affichage d’images
- module réseau : il simplifie l’utilisation des sockets
- module son : il permet de jouer des musiques et son dans son application
- module fenêtre : utilisé pour la création des fenêtres et l’interaction de l’utilisateur avec le programme
Nous allons voir comment installer et compiler avec cette librairie sous Linux et Windows.
Linux
Installation
Pour installer le SDK de SFML, rendez-vous sur le site officiel dans la section téléchargement puis téléchargez la dernière version pour le C++ nommé SFML Full SDK.
Une fois téléchargé, décompresser l’archive puis ouvrez une nouvelle fenêtre nautilus en root dans le dossier /usr/.
sudo nautilus /usr/
Dans ce dossier vous allez placer les fichiers de l’archive SFML à savoir les fichiers SFML-1.6/lib/ dans /usr/libs/ et le dossier SFML-1.6/includes/SFML dans /usr/includes/ en faisant des copier/coller.
Une fois cette étape franchie, vous avez fini l’installation et pouvez compiler.
Compilation
Pour la compilation, ouvre un terminal et entre simplement pour compiler l’exemple donné ci-dessous :
g++ main.cpp -o horloge -lsfml-system
Les linker à mettre dépendent des modules que vous allez utiliser. Ce sont les fichiers que vous avez placé dans le dossier /usr/libs.
Windows
Installation
Sous Windows, la démarche est la même, sur la page de téléchargement, prenez l’archive SDK Complet SFML pour MinGW (Code Block).
Ensuite, décompressez l’archive puis mettez dans C:\MinGW\include\ le dossier SFML-1.6\include\SFML et mettez les fichiers de ayant l’extension ‘.a’ (à savoir libsfml-audio.a, libsfml-graphics.a, libsfml-main.a, libsfml-network.a, libsfml-system.a, libsfml-window.a) dans le dossier librairie de MinGW (C:\MinGW\lib) et enfin les dll seront à ajouter dans le dossier de votre programme.
Ces dll sont à ajouter suivant les librairies que vous utiliserez et inclurez dans votre projet lors de la compilation.
Compilation
De la même manière que sous Linux, pour compiler vos projet ou l’exemple donné ci-dessous, utilisez dans une console g++ de la manière suivante :
g++ main.cpp -o horloge -lsfml-system
Exemple d’un programme
Voici un programme tiré de la documentation officielle. Si vous arrivez à le compiler, c’est que l’installation c’est bien passé.
#include <SFML/System.hpp> #include <iostream> int main() { sf::Clock Clock; while (Clock.GetElapsedTime() < 5.f) { std::cout << Clock.GetElapsedTime() << std::endl; sf::Sleep(0.5f); } return 0; }
Le résultat n’est pas formidable, il vous affiche le temps depuis lequel le programme est démarré dans un terminal. Le but n’était pas de réaliser un super jeu mais de savoir installer cette librairie et maintenant c’est à vous de jouer !