# Programmation C++/Dessiner des formes : les bibliothèques graphiques

* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
* Avant-propos
* Introduction
* Compilation
* Un premier programme
* Les commentaires
* Le préprocesseur
* Les types de base et les déclarations
** Exercices
* Les opérations de base
* Les entrées-sorties
* Les pointeurs
** Exercices
* Les références
* Les tableaux
** Exercices
** Exercices sur les tableaux statiques
** Exercice : Tris des tableaux à une dimension
** Solution : Tris des tableaux à une dimension
* Les structures de contrôle
** Exercices
** Exercices if...else et switch
* Les fonctions
** Exercices
* Les structures
** Exercices
* Les classes
** Exercices
** Exercices de développement
* Les espaces de noms
* Les exceptions
* Les templates
** Exercices
* Conventions d'appel
* Les fichiers
* La librairie standard
* Expressions rationnelles
* Interfaces graphiques
* Bibliographie et liens

## Anciennes pages

* Opérateurs
* Héritage
* Polymorphisme
[ Modifier le sommaire ]
Le C++ peut être utilisé pour la création de jeux ou plus généralement d'interface graphiques, qui nécessitent de pouvoir dessiner et créer des formes, entre autres.
Cette partie traite de la programmation graphique basique du C++ en 2D. Pour ce faire, il sera utilisé la bibliothèque graphique SFML.

## Téléchargement de la SFML

* Allez sur http://www.sfml-dev.org/download/sfml/2.4.0/index-fr.php et téléchargez la version qui correspond à votre configuration. Le site de la SFML est très bien détaillé et apporte beaucoup d'informations sur quelle version télécharger.
* Enregistrer où vous voulez le dossier, le principal étant de choisir un répertoire dont on se souvient facilement.

## Mise en place de la SFML

Pour utiliser la SFML, il faut ajouter à votre projet un chemin d'inclusion qui va jusqu'au dossier include de votre dossier SFML : par exemple "C:\SFML-2.4.0\include" (sur Windows).
Puis il faut joindre les fichiers .hpp correspondant aux besoins du programme. La plupart du temps, #include <SFML/Graphics.hpp> suffit.
Pour la compilation, il faut d'abord compiler le fichier source principal du programme, par habitude "main.cpp" : "g++ -c main.cpp -I<chemin/du/dossier/include/SFML>". Cela génère un fichier "main.o". Puis il faut lier le fichier compilé aux bibliothèques SFML : "main.o -o sfml.exe -L<chemin/du/dossier/lib/SFML> -lsfml-graphics -lsfml-window -lsfml-system". Enfin, il faut ajouter les fichiers .dll du dossier "bin" du dossier SFML dans le répertoire d'exécution du programme compilé.
On peut se référer aux pages d'aides du site de la SFML pour effectuer les actions décrites ci-avant : http://www.sfml-dev.org/tutorials/2.4/index-fr.php --> Catégorie « Démarrer ». En ce qui concerne Visual Studio Code, on peut configurer ainsi le fichier "tasks.json" :