Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Ouvrez le logiciel
Dev-C++. Dans la barre d'outils, cliquez
Outils >> Nouvelles versions/packages.
La fenêtre
WebUpdate s'ouvre:
Dans la liste déroulante
Select devpack server, sélectionnez
devpacks.org community Devpacks comme ci-dessus, puis cliquez sur le bouton
Check for Updates.
Le module de mise à jour de
Dev-C++ va donc se connecter au serveur pour récupérer une liste de librairies, comme la capture d'écran ci-dessous:
Lorsque le module de mise à jour à fini de récupérer la liste des librairies, vous devez sélectionner la
librairie SDL et pour finir cliquez sur le bouton
Download Selected.
Le module de mise à jour télécharge donc la librairie SDL...
Lorsque la
librairie SDL est entièrement téléchargée, un message vous averti, veuillez cliquez sur
ok.
Pour finaliser l'installation de la librairie, l'
Installation Wizard se lance, il ne vous reste plus qu'à accepter l'installation et ses formalités en cliquant sur
Next.
Vous vous dites, Comment ça une DLL ? On vient juste d'installer la librairie !
Oui, oui c'est vrai ! Mais il vous faut encore une DLL. La DLL de la librairie SDL:
SDL.dll.
Ca fait beaucoup de SD... DL... LL...SD... C'est vrai.
C'est quoi une DLL ??? DLL est l'acronyme de Dynamic Link Library (Bibliothèque de liens dynamiques), elle se trouve sous forme de fichier *.dll. Une DLL, c'est donc un fichier contenant une collection de fonctions conçu pour un langage de programmation.
Pour en revenir à notre DLL, vous devez pour commencer, télécharger le
fichier Zip nommé
SDL-1.2.9-win32.zip pour
Windows.
Vous trouverez donc se fichier sur le site officiel de
Simple DirectMedia Layer dans le sous menu
Runtime Libraries:
http://www.libsdl.org/download-1.2.php
Lorsque que vous avez récupéré le fichier compressé
DL-1.2.9-win32.zip, ouvrez le.
Vous voyez dans se point Zip un fichier
README-SDL.txt, et un autre fichier
SDL.dll. Miracle !

J'exagère c'est vrai ! Le voila notre fichier DLL.
Se fichier
SDL.dll va vous être très utile. Car pour
chaque Projet qui utilisera la
librairie SDL, il faudra
copier se fichier dans le dossier de votre projet, car sinon, il est impossible de faire fonctionner votre programme !
Création du projet
Pour tester votre installation de la librairie, créez un
nouveau projet dans
Dev-C++ :
Fichier >> Nouveau >> Projet...
Sélectionnez
Empty project, cochez
Projet C et donnez lui un nom comme
Test SDL, par exemple.
Puis cliquez sur le bouton
Ok. Dev-C++ vous demande d'enregistrer le nouveau projet. Enregistrez le dans un dossier qui lui est approprié. Par exemple dans un dossier nommé
Test SDL.
Lorsque votre nouveau projet est crée, faite un
clique droit sur le
projet Test SDL, et cliquez sur
nouveau fichier source.
Enregistrez se nouveau fichier source
dans le dossier de votre Projet, sous le nom de
main.c.
Reste encore à paramétrer les options de votre projet.
Pour paramétrer les options, cliquez sur
Projet dans la barre d'outils puis sur
Options du Projet.
La fenêtre
Options du Projet, s'ouvre donc !
Dans l'onglet Général, vous pouvez voir un certain nombre d'informations, comme le nom de votre projet, le nom de votre fichier de sortie, autrement dit votre point *.exe qui serra compilé par la suite, et même un cadre Icône ou vous pouvez choisir un icône pour votre point exe.
Pour notre petit test, il faut sélectionner
Win32 GUI dans la liste
Type, comme ci-dessous.
Ensuite sélectionnez l'onglet
Paramètres.
Effectuez un
copier/coller de la chaîne de caractères suivante
-lmingw32 -lSDLmain -lSDL, dans le champ
Editeur de liens de la fenêtre
Options du Projet. Voir la capture ci-dessous:
Puis pour valider les options du projet, cliquez sur le bouton
Ok.
Il ne vous reste plus qu'à écrire un petit bout de programme pour tester votre installation.
Bah oui, mais quoi ???
Pour vous éviter de trop chercher, je vous donne un petit bout de programme ci-dessous. Faite un
copier/coller du petit code ci-dessous dans votre fichier
main.c.
Code : C 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 | #include <stdlib.h>
#include <SDL/SDL.h> // Librairie SDL
int main( int argc, char *argv[ ] )
{
SDL_Surface *screen;
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
{
printf( "Impossible d'initialiser SDL: %s\n", SDL_GetError( ) );
exit( 1 );
}
atexit( SDL_Quit );
screen = SDL_SetVideoMode( 640, 480, 16, SDL_HWSURFACE );
if( screen == NULL )
{
printf( "Impossible d'initialiser le mode vidéo: %s\n", SDL_GetError( ) );
exit( 1 );
}
SDL_Delay( 3000 );
return 0;
}
|
Etude du programme
Maintenant, comme disait Napoléon:
Ca se Corse !!!
Petite citation d'un de mes anciens proff...
Les directives de Préprocesseur
Code : C1
2 | #include <stdlib.h>
#include <SDL/SDL.h>
|
Ces deux premières lignes sont les
directives de préprocesseur. Elles servent donc a inclure les fichiers
stdlib.h (comme d'habitude) et
SDL/SDL.h qui se situent dans le dossier
où est installé DEV-C++.
Vous avez remarqué, sans doute, que
#include <SDL/SDL.h> était une nouvelle
directive de préprocesseur.
Cette directive de préprocesseur, va oui Mesdames et Monsieurs, inclure la librairie SDL à notre programme.
Quelques fonctions SDL
On crée une variable de type pointeur, qui nous reservira par la suite...
Code : C
Puis vient la suite du programme.
Code : C1
2
3
4
5 | if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
{
printf( "Impossible d'initialiser SDL: %s\n", SDL_GetError( ) );
exit( 1 );
}
|
On
charge dynamiquement puis on
initialise la librairie SDL grâce à la fonction
SDL_Init(), et ici on choisi le
mode vidéo de la librairie avec
SDL_INIT_VIDEO.
Si la fonction
SDL_Init() est inférieure à
0, c'est que l'initialisation n'a pas fonctionnée. On affiche donc qu'il est impossible d'initialiser la librairie avec la fonction
printf(), et on affiche l'erreur, grâce à la fonction
SDL_GetError().
Si le programme ne se déroule pas normalement, la fonction
atexit(), éxécute la fonction
SDL_Quit, se qui ferme la librairie SDL.
Code : C
Si l'initialisation c'est déroulée correctement, on
initialise le
mode vidéo de la librairie, puis on créer une fenêtre
(et oui c'est trop cool
), de dimension
640x480 pixels, et de
profondeur 16 pixels, avec la ligne de code ci-dessous:
Code : C1 | screen = SDL_SetVideoMode( 640, 480, 16, SDL_HWSURFACE );
|
Il y a encore une dernière condition avec
if, pour tester si
l'initialisation du mode vidéo à bien fonctionnée:
Code : C1
2
3
4
5 | if( screen == NULL )
{
printf( "Impossible d'initialiser le mode vidéo: %s\n", SDL_GetError( ) );
exit( 1 );
}
|
Si l'initialisation du mode vidéo a échouée, la variable
screen est
NULL. On affiche donc un message d'erreur... Comme pour l'initialisation de la librairie !
Enfin si la librairie et le mode vidéo se sont initialisés sans problème, on affiche une fenêtre pendant 3 secondes avec la fonction
SDL_Delay():
Code : C

Bah !!! tu avais dis
3 secondes, et ici il y a
3000 !!!
Compilation et Exécution du programme
Il ne vous reste plus qu'à compiler et exécuter le programme,

en cliquant sur le bouton
Compiler & Exécuter (F9).
Si le programme de test fonctionne correctement, une fenêtre devrait s'ouvrir pendant
3 secondes, puis se fermer toute seule, comme ci-dessous.
C'est grand!!!

C'est noir, tout noir!!!
Bah oui je sais! Mais bon! Il faut bien commencer par quelque chose. Et puis, la librairie SDL est installée et elle fonctionne !!!