Mokona Guu Center

Anjuta et SDL, création du projet

Publié le

Introduction

Anjuta est une interface intégrée de développement (IDE) disponible sur les systèmes Unix qui disposent de l'environnement Gnome(Linux par exemple). Il comporte un éditeur de sources avec coloration syntaxique, un gestionnaire de projet, une liaison native avec Glade pour la définition des interfaces graphiques, un debuggueur. Il utilise gcc pour la compilation et se repose par défaut sur les autotools pour la gestion des dépendances aux bibliothèques et la génération des Makefile.

Nous allons, dans cet article, configurer Anjuta afin de compiler un programme qui utilise SDL.

Prérequis

Vous devez au préalable installer, si ce n'est déjà fait, une version d'Anjuta (j'ai utilisé la version 1.2.2) et la bibliothèque SDLversion développeurs. Vous devriez aussi vérifier que les autotools ont bien été installés.

Pour cela, sur les distributions Linux qui fonctionnent à partir de paquetages, ouvrez le gestionnaire de paquetages (Synpatic pour Ubuntu ou encore RPMDrake pour Mandriva) et sélectionnez dans la liste ce que vous voulez installer. Attention, les bibliothèques se présentent généralement sous deux versions : l'une pour l'exécution seule, l'autre pour le développement.Pour SDL, les noms sont généralement : libsdl et libsdl-dev (suivis du numéro de version).

Création du projet

Au lancement d'Anjuta, après l'écran de titre, un dialogue est par défaut affiché. S'il ne l'est pas, vous pouvez le retrouver à la fin du menu Préférences.

Dialogue de démarrage

Nous voulons créer un nouveau projet simplement, nous allons donc choisir l'assistant (première option).L'assistant est une suite de boite de dialogues qui collectent des informations sur le projet que vous voulez créer puis qui se charge de mettre en place le nécessaire.

L'assistant démarre et demande des informations sur le projet.

Assistant de démarrage

Nous allons créer un projet générique.

Choix

Ensuite, il nous est demandé le nom du projet ("TestSDL"), le numéro de version (que nous laissons à la valeur 0.1 par défaut),l'auteur (mettez ce que vous voulez). La case suivante, la cible, a été préremplie automatiquement en fonction du nom donné pour le projet. Il s'agit du nom de l'executable qui sera généré. S'il ne vous plait pas, vous pouvez le changer.

Plus bas, il nous est demandé le langage dans lequel est programmé le projet, je choisis C car je vais utiliser un des tutoriaux SDL sur les sprites, qui sont en C.

La cible est un programme exécutable, nous choisissons donc Cible d'exécution.

Information basique

Le dialogue suivant propose d'entrer un texte libre décrivant le projet.

Description du projet

Ensuite, des informations supplémentaires sont demandées. Comme nous ne créons pas une application Gnome, la plupart des options ne nous concernent pas et son grisées. Je décoche le support de Gettext car je ne l'utiliserai pas.

Options supplémentaires

Nous arrivons à la dernière étape de l'assistant de création de projet. Le dialogue affiche un résumé des informations qui vont lui servir à mettre en place le projet. Si tout est correct, on sélectionne Appliquer.

Résumé du projet

Après avoir appuyé sur Appliquer, vous remarquerez que du texte est affiché dans la fenêtre d'information Builden bas de l'interface. Anjuta est en train de préparer le projet et chaque opération effectuée est rapportée dans cette fenêtre. Inutile de s'en occuper dans cet article, attendez juste qu'il finisse en annonçant dans cette même fenêtre :Le projet a été autogénéré...

Nous allons être cependant un peu curieux et regarder le résultat de ces opérations. Anjuta a créé un repertoire~/Projects/TestSDL/ pour y placer le projet. On y voit entre autre le Makefile, les fichiers nécessaires aux autotools,les classiques AUTHORS, INSTALL, NEWS, README, TODO. Un sous-répertoire src/ contient les sources. Pour le moment,un fichier main.c y a été généré par Anjuta.

Projet généré

Maintenant que le projet de base est en place, nous remplaçons le contenu de main.c par celui d'un tutorial sur le sprite.Celui que j'ai choisi a besoin d'un fichier data_header.h ainsi que d'une image. J'ajoute ces fichiers au repertoire src/du projet.

Attention : dans un projet réel qui devra être installé sur une autre machine, tout mettre dans le repertoire src/ n'est pas une méthode très propre. Mais ici, nous voulons programmer localement avec SDL, nous nous permettons donc ce petit raccourci.

Une fois les fichiers en place, nous pouvons lancer la compilation du fichier (soit par le menu, soit en appuyant sur F9).

Attention : il s'agit de la compilation du fichier ; uniquement de la compilation. Pas d'édition de lien ni de création de l'exécutable. Si vous ne comprenez pas ces étapes de génération d'un programme, je vous suggère de vous y intéresser.

Par défaut, Anjuta compile avec le flag -Wall, afin d'afficher la grande majorité des warnings lors d'une compilation.Ce comportement peut être modifié dans les options, mais il est bien pratique, je le garde donc et j'en profite pourvoir qu'il y a des warnings lors de la compilation du fichier. Je les corrige, je refais F9 et cette fois, la compilation passe sans warning.

Compilation

Ceux qui ont déjà compilé à la main un programme SDL auront repéré qu'il n'y a pas eu d'erreur du à des chemins d'inclusion. Ceci est du au fait que le fichier du tutorial fait un #include <SDL/SDL.h> et que les entêtes de la SDL sont installées dans un repertoire de recherche par défaut (/usr/include/).

Si ce n'est pas votre cas, ou bien si vous avez suivi les recommandations de la FAQ de la bibliothèque SDL qui est de plutôt utiliser #include "SDL.h" pour une meilleure portabilité, alors il vous faudra ajouter le repertoire d'installation de la SDL aux chemins de recherche. Cela se passe dans le menuPréférences->Compilateur et éditeur de liens.

Ce menu va de toute façon nous intéresser immédiatement : appuyez sur F11 pour lancer la création de l'exécutable, laissez tournez et observez la fenêtre d'informations Build. Rapidement, toute une série d'erreurs vont apparaître. Ce sont des erreurs générées par l'éditeur de liens qui ne trouve pas les fonctions de la SDL. C'est tout à fait normal, nous n'avons pas annoncé que nous voulions lier notre programme à cette bibliothèque.

Il y a plusieurs méthodes pour demander à Anjuta de lier une bibliothèque. La méthode que nous allons utiliser consiste à aller dans le dialogue Préférences->Compilateur et éditeur de liens, de choisir l'onglet Bibliothèques, d'y ajouter une entrée SDL et de la cocher. À la demande de reconstruction du projet, répondez oui. Anjuta va intégrer les modifications que vous avez faites.

Il est temps de relancer la fabrication de l'exécutable avec F11. Cette fois, plus d'erreur. L'exécutable est construit.

Paramétrage de la compilation et de l' édition de liens

Ajouter SDL dans l'onglet Bibliothèques entraîne sa liaison. Cependant, nous aurions aussi pu vouloir taper directement les options à passer au compilateur et à l'éditeur de lien.

Ceci est faisable dans un autre onglet.

Paramétrage de la compilation et de l' édition de liens

Attention : gardez à l'esprit que ceci est une configuration générale d'Anjuta, non spécifique au projet en cours. Cela signifie que tous les projets que vous allez compiler vont se lier à la SDL, à moins de la décocher avant dans les préférences.

Pour une configuration spécifique au projet, avec intégration dans les autotools et donc une possibilité de déploiement, il faut modifier les options du projet. Cela ne concerne pas cet article.

Debugguer

Debuggueur

Anjuta comporte un debuggueur. Cela permet d'arrêter un programme sur des points critiques,d'examiner les valeurs de variables et donc de comprendre où se situe un problème remarqué.

Pour démarrer le debuggueur, passez par le menu Débogage. Puis, par exemple, ajoutez un point sur la ligne indiquée sur la copie d'écran ci-dessous. Lancez l'exécution.

Le debuggueur va s'arrêter sur cette ligne. Vous pouvez alors examiner les variables locales ou bien la pile des appels de fonction.

Dans le menu Débogage, demandez d'avancer d'une ligne. Le pointeur d'exécution passe à la ligne suivante. La variable qui a changé de valeur est indiquée en rouge dans la fenêtre d'information en bas de l'écran.

À vous de jouer

Ainsi s'achève ce petit tour très rapide de la construction d'un projet SDL avec Anjuta.Ajoutez des fichiers à votre projet, faites le tour de l'interface pour découvrir toutes les options, que ce soit pour la configuration de l'environnement (par exemple, j'ai rapidement mis une police de caractères non proportionnelle pour la fenêtre des sources) ou la configuration des outils (il existe entre autre une possibilité d'ajouter des outils).

(article initialement écrit pour le GCN : anciennement http://games-creators.org/index.php/Cr%C3%A9ation_d%27un_projet_SDL_avec_Anjuta, pas d'archive trouvée).