Téléchargement et compilation d’un projet SDL

Aujourd'hui nous allons apprendre à télécharger et compiler un projet SDL 2 sur différents systèmes exploitation.

Introduction

Dans cette partie du cours, il va vous falloir vous munir de vos outils de développeur, à savoir : votre éditeur de code et votre compilateur.

Information

Je suppose que si vous utilisez un IDE alors vous saurez compiler une bibliothèque avec ! Car si vous utilisez un IDE, c'est que vous savez vous en servir...

Téléchargement

Pour commencer on va visiter le site web officiel de la SDL https://www.libsdl.org/, qui ressemble à ceci :

site web officiel de la bibliothèque SDL

Vous noterez qu'à droite de cette image, sont disponibles les jeux utilisant la SDL (pour les plus curieux d'entre vous lors de chaque visite de la page le catalogue de jeu change). Sachez toutefois que si certains jeux sont en 3D, c'est qu'ils utilisent forcément une API de rendu 3D comme OpenGL, Vulkan, Direct3D, etc...

Au milieu du site web vous retrouverez une courte description en anglais de la bibliothèque.

En haut à droite vous avez la dernière version de la SDL mise en ligne par les développeurs.

À gauche vous avez 3 menus de navigation (main, documentation, download).

Partie téléchargement du site web officiel de la bibliothèque SDL

Pour l'instant il n'y a que la partie download qui nous intéresse. Dans cette section vous avez :

  • SDL 2.0: la dernière version SDL stable (c'est la version qu'on utilisera)
  • SDL 1.2: l'ancienne version d'SDL (nous ne l'utiliserons pas)
  • SDL Mercurial: la version en développement (nous ne l'utiliserons pas) c'est une version qui comporte les dernières fonctionnalités non stables de la bibliothèque. Elle permet donc de profiter des dernières mises à jour de la bibliothèque mais a contrario vous avez plus de risques de rencontrer des bugs.
  • SDL Bindings : le portage de la SDL vers plusieurs langages de programmation comme le langage Go...

Il faut cliquer sur SDL 2.0 et vous tomberez sur une page de téléchargement, sur cette page vous retrouverez encore trois parties. Ici la partie qui nous intéresse est la partie Development Libraries :

Page de téléchargement SDL

Dans les prochains chapitres nous allons apprendre à installer la librairie et à compiler notre premier programme SDL 2.0 sous l'OS Linux et Windows.

Installation et compilation pour Linux [g++ et clang++] :

Installation

Pour Linux, la page de téléchargement nous informe que nous devons contacter notre distribution, pour installer la SDL 2.0. Nous utiliserons le gestionnaire de paquets qu'offre votre distribution. Généralement la SDL est disponible sur plusieurs distributions. Pour ce tutoriel on utilisera la distribution Ubuntu .

On va commencer d'abord par mettre à jour nos paquets :

sudo apt-get update && sudo apt-get upgrade

Par la suite, on va installer le paquet de développement SDL :

sudo apt-get install libsdl2-dev

Compilation

Voila vous avez installé la bibliothèque SDL sur votre OS Linux c'était rapide et simple, mais maintenant il va falloir créer un projet de test et par la suite le compiler pour vérifier ensuite si votre installation est bonne.

Commencez par créer un dossier SDL avec un dossier bin et src :

mkdir -p SDL/{src,bin}
  • bin: on retrouvera l'exécutable au format ELF
  • src: on retrouvera les fichiers source au format .cpp

Créer un fichier main.cpp qui contiendra le code source ci-dessous

#include <SDL2/SDL.h>

int main(int argc, char* argv[])
{
    if(SDL_Init(SDL_INIT_VIDEO) < 0)
    {
        SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "[debug] %s", SDL_GetError());
        return -1;
    }
    SDL_Quit();
    return 0;
}

Il ne vous reste plus qu'à le compiler en partant du répertoire SDL en tapant la commande suivante :

g++ src/main.cpp -o bin/prog -lSDL2main -lSDL2

Si vous n'avez pas d'erreurs, c'est que votre installation c'est bien déroulée !

Installation et compilation pour Windows :

Installation

Pour Windows, la page officielle nous informe de deux possibilités :

Nous utiliserons, le deuxième lien SDL2-devel-2.0.9-mingw.tar.gz (MinGW 32/64-bit), en cliquant dessus vous pouvez télécharger la SDL.

On va commencer par préparer, notre environnement de travail et par la suite on créera un répertoire qui contiendra SDL pour MinGW. Voici déjà à quoi ressemble mon répertoire de travail : D:/SDL/MinGW :

Dans ce répertoire je décompresse le tar.gz que j'ai téléchargé auparavant. Une fois cette étape finie, je me retrouve avec le répertoire D:\SDL\MinGW\SDL2-2.0.9 et à l'intérieur de ce répertoire j'obtiens l'arborescence suivante :

mon répertoire de travail SDL2

Ici j'ai deux dossiers : i686-w64-mingw32 et x86_64-w64-mingw32. Le premier dossier est pour un compilateur en 64 bits et le second est pour un compilateur en 32 bits. Pour savoir lequel choisir, il faut exécuter la commande g++ -v (ou gcc -v pour les développeurs C). Voici ce que vous devriez avoir :

architecture du compilateur avec la commande g++

Ici je sais clairement que mon compilateur est pour le 64 bits, si vous avez autre chose, cela signifie que vous avez un compilateur 32 bits. Maintenant je sais que personnellement si je veux faire un projet SDL je vais utiliser celui-ci 😊.

Ensuite, je vais créer un répertoire SDL et dans ce répertoire, je vais copier-coller, le contenu de mon dossier : i686-w64-mingw32 (pour les compilateurs 32 bits ce sera x86_64-w64-mingw32

Je me retrouve ainsi avec les dossiers suivants dans le répertoire SDL :

Dossier SDL

Ce que je vous conseille de faire, c'est de modifier le dossier include, pour ne plus avoir de sous dossier SDL2. Nous aurons ainsi directement les headers dans le dossier include. Si vous avez fait cette manipulation alors voici à quoi va ressembler ce dossier :

Dossier include

Vous pouvez des à présent créer un dossier src, et par la suite créer un fichier main.cpp et de coller dessus le code source suivant :

#include <SDL2/SDL.h>

int main(int argc, char* argv[])
{
    if(SDL_Init(SDL_INIT_VIDEO) < 0)
    {
        SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "[debug] %s", SDL_GetError());
        return -1;
    }
    SDL_Quit();
    return 0;
}

Comme pour Linux, il ne vous reste plus qu'à compiler votre code source en tapant la commande suivante :

gcc main.c -o prog -I include -L lib -lmingw32 -lSDL2main -lSDL2

Si vous n'avez aucune erreur, c'est que votre installation c'est bien passée !

Espace commentaire

Écrire un commentaire

Vous devez être connecté pour poster un message !

18 commentaires

Membre

actif

09/07/19

Détails sur la compilation Linux (g++ et clang++) hyper utiles

Membre

actif

07/07/19

Merci pour le setup cross-OS, ça couvre tous les besoins

Membre

actif

04/07/19

Le guide de "Téléchargement" est très clair, même pour les non-initiés

ça permet de ne pas perdre de temps à chercher la bonne version ou les dépendances

Membre

actif

02/07/19

Compilation c souvent la bête noire des débutants, là c maîtrisé

Membre

actif

30/06/19

Introduction solide avant d'attaquer le vif du sujet

Membre

actif

28/06/19

installation windows, ça simplifie énormément l'entrée en matière pour les devs

Membre

actif

27/06/19

La compilation sous Linux c'est le point noir de beaucoup de projets

avoir un guide pas à pas avec g++ et clang++ est super précieux, bravo pour la clarté

Membre

actif secouriste

24/06/19

téléchargement facile à suivre, pas de mauvaises surprises

Membre

actif

23/06/19

Gros gain de temps sur la compilation de la SDL2, ça c de l'efficacité

Membre

actif

20/06/19

Merci pour la partie "Installation et compilation pour Windows"

Souvent un vrai chemin de croix avec les variables d'environnement, là c bien défriché et documenté

Membre

actif rédacteur secouriste

18/06/19

Introduction bien placée pour comprendre le but du tutoriel

Membre

actif

16/06/19

Guide de compilation Windows nickel, ça marche du premier coup

Membre

actif

13/06/19

la section "installation et compilation pour linux" est une pépite

Les flags g++ et clang++ c'est toujours un casse-tête, là c'est du prêt à l'emploi, énorme gain de temps

Membre

actif

12/06/19

Téléchargement bien expliqué, évite les versions foireuses

Membre

actif

11/06/19

Setup SDL galère souvent, merci pour ce guide détaillé

09/06/19

Bonjour @Pabi-cr7-Diedhiou,Je développe des projet logiciel sous SDL2 depuis plusieurs années. J'ai déjà été confronté à plusieurs erreurs de compilation dont des erreurs concernants l'installation de la bibliothèque ainsi que les bibliothèques/extensions de la SDL. Votre problème a-t-il été résolu ?

07/06/19

Salut mon installation ne s'est pas bien passée

on m'écrit ça : C:\Users\hp\Desktop\sdl\src\main.cpp|1|fatal error: SDL2/SDL.h: No such file or directory|

Aidez-moi svp

Membre
04/06/19

Cher Madame / Monsieur,

Pourriez-vous m'apporter un éclairage sur x86_64-w64-mingw32 de la SDL2 utilisée pour la compilation de 32 bits au lieu de 64 bits?

Merci pour votre compréhension.

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire