Cliquer ici pour imprimer

Dernière modification : 12/05/2022 à 08:37

Makefile, Compilation séparée et bibliothèque graphics.h

Le but de la séance est de se familiariser avec la compilation séparée, l'utilisation de la commande make et du fichier Makfile, et de découvrir une bibliothèque permettant de dessiner dans une fenetre graphique.

Compilation séparée

Lire les slides 6 à 18 de ce document. Recopiez les exemples et testez la compilation séparée.

Lire ce tutoriel au moins jusqu'à l'étape 7 incluse et écrivez un makefile permettant de compiler l'exemple des slide 12-13 du premier document avec la commande make. Lire veut dire lire et comprendre et testez les exemples fournis.

La bibliothèque graphique MLV

Pour notre mini projet, nous allons avoir besoin d'afficher des éléments dans une fenetre graphique. Pour cela nous allons utiliser une bibliothèque assez simple basée sur une bibliothèque plus complexe appellée SDL (Simple Direct Media Layer).

Cette bibliothèque a été écrite par Adrien Boussicault (Labri) et Marc Zipstein (UGE UPE-MLV). Elle est censé fonctionner sous tous les OS qui supportent SDL, mais nous ne pouvons vous garantir son fonctionnement que sous les distributions Linux standard à l'heure actuelle.

Récupérer et installer la bibliothèque

Pour la suite des exercices qui utiliseront cette bibliothèque, vous utiliserez évidemment un fichier Makefile permettant de faire tout ça simplement en utilisant la commande make.

Les options de compilations seront comme toujours -Wall -pedantic -ansi, et vous rajouterez pour l'édition des liens l'option -lMLV

Découverte

Regardez et tester les exemples du répertoire beginner (et medium et advanced si vous le souhaitez). En vous inspirant du fichier 02_shapes.c, faites un programme qui affiche une maison (un carré rouge pour le mur principale, un triangle bleu pour le toit, des rectangles de couleur pour les fenêtres, un rond jaune pour faire un soleil.. soyez créatifs.

Pour la suite du projet nous aurons essentiellement besoin de la fonction qui dessine un rectangle, de celle qui récupère une touche tapée au clavier et de celle qui rafraichit l'affichage. Identifiez bien ces trois fonctions.

L'ensemble des fonctions de la bibliothèque et leur documentation est accessible à cette adresse.

Rendu

Dans un répertoire nommé login_tp1 copiez vos .c, makefile et .h. Vous pouvez y ajouter un fichier texte README si vous avez des choses à expliquer à joindre à votre rendu. Depuis le répertoire parent, tapez la commande tar czf login_tp1.tgz login_tp1. Déposez sur blackboard le fichier obtenu.