Free online content available in this course.

Got it!

Last updated on 1/8/18

Installer GTK+ sous MacOS X

Log in or subscribe for free to enjoy all this course has to offer!

Dans la lignée des chapitres d'installation, passons maintenant au cas MacOS X ! :) L'installation sur ce système est somme toute sensiblement similaire à celle qui existe pour les autres Unixoïdes, à quelques détails près bien entendu ;) .

Fink, X11 ?

Image utilisateur

L'utilisation de GTK+ sous MacOS X est légèrement différente des autres systèmes, du fait que son utilisation n'est pas tout à fait transparente pour l'utilisateur. En effet, si vous utilisez The Gimp (Photoshop libre), ou Inkscape (dessin vectoriel), vous voyez l'icône de X11 apparaitre dans le dock avant que l'application ne se lance.

Cela est dû au fait qu'il n'existe pas, à l'heure actuelle, de portage natif de GTK+ utilisant les APIs de la pomme : Cocoa et Carbon. De ce fait, GTK+ est obligée d'utiliser le serveur X11 (XFree86) pour l'affichage, exactement comme elle le fait sous Linux.Image utilisateur

Puisqu'il n'y a pas de version Mac de GTK+, comment va t-on faire pour compiler nos programmes ?
La solution est simple, et elle s'appelle Fink. Il s'agit d'un projet destiné à porter simplement des applications et paquets écrits à la base pour GNU/Linux vers MacOS X. C'est un gestionnaire de paquets, comme dpkg sous Debian, qui va nous permettre d'installer GTK+ et ses dépendances, notamment les paquets de développement.

Installation

Nous allons installer ce qui est nécessaire à GTK+ : XCode, X11, et Fink.

XCode

Image utilisateur

Je vous conseille fortement de programmer avec XCode, l'IDE à la pomme étant très puissant, mais pourtant très simple à utiliser. Il est livré avec Tiger sur le CD n°1, pour les autres versions, rendez-vous sur le site d'Apple, section Téléchargements.

Dans tous les cas, vous devez impérativement posséder la version la plus récente tolérée par votre système (sinon cela ne marche pas).

X11

Image utilisateur

Si vous n'avez pas encore X11 sur votre machine, il est nécessaire de l'installer. Pour savoir si vous l'avez, allez dans Applications/Utilitaires et cherchez une icône blanche avec un X à l'intérieur.

MacOS X Tiger

Munissez-vous du CD d'installation n°1 de Tiger et insérez-le dans votre lecteur. Ouvrez l'installateur Optional Installs. Allez jusqu'à la sélection du type d'installation, et cochez la case X11(voir). Finalisez l'installation pour installer X11.

MacOS X Panther

Pour cette version de MacOS (et les versions inférieures), rendez-vous sur le site d'Apple et téléchargez X11. Installez-le ensuite.

Fink

Téléchargez la version de Fink correspondant à votre système :

Ouvrez l'archive téléchargée, et lancez l'installateur. À la fin, il vous demande s'il peut exécuter un script, acceptez en choisissant Oui. Après l'installation, ouvrez un Terminal (Applications/Utilitaires) et installez les paquets suivants :

  • gtk+2 (et gtk+2-shlibs)

  • gtk+2-dev

  • glib2 (et glib2-shlibs)

  • glib2-dev

  • pango (et pango-shlibs)

  • pango-dev

  • atk1 (et atk1-shlibs)

Pour installer un paquet, tapez la commande :

fink install nom_du_paquet

Les paquets en parenthèses devraient s'installer automatiquement. Faites-le manuellement si ce n'est pas le cas.

Pour finir l'installation, toujours dans la console, mettez à jour tous les paquets installés en faisant :

fink update-all

Tout est maintenant installé ! :)

Compilation

Ouvrez XCode, et créez un nouveau projet Standard Tool (catégorie Command Line Utility).

Configuration du projet

Les bibliothèques

Dans la colonne de gauche, on peut voir les dossiers Source, Documentation et Products. Cliquez-droit sur le nom du projet, et créez un nouveau dossier (Add > New Group) appellé GTK Libs (par exemple). Faites clique-droit sur ce dossier, puis choisissez Add > Existing Files. Là, sélectionnez les fichiers suivants, dans le dossier /sw/lib/ (attention aux noms qui se ressemblent) :

  • libatk-1.0.0.dylib

  • libgdk-x11-2.0.0.dylib

  • libgdk_pixbuf-2.0.0.dylib

  • libglib-2.0.0.dylib

  • libgmodule-2.0.0.dylib

  • libgobject-2.0.0.dylib

  • libgthread-2.0.0.dylib

  • libgtk-x11-2.0.0.dylib

  • libpangox-1.0.0.dylib

Ces bibliothèques doivent donc se retrouver dans le dossier GTK Libs(voir).

Les fichiers d'en tête

Faites un clique-droit encore une fois sur le nom du projet, et allez sur Get Info, puis dans l'onglet Build.

Repérez la ligne Header Search Paths, et collez ceci comme valeur (à droite) :

/usr/include /sw/include/glib-2.0 /sw/lib/glib-2.0/include /sw/include/gtk-2.0 /sw/lib/gtk-2.0/include /sw/include/atk-1.0 /sw/include/pango-1.0 /sw/include/cairo

Faites de même pour la ligne Library Search Paths :

/sw/lib/ /sw/lib/glib-2.0 /sw/lib/gtk-2.0

Voilà pour ce qui est de la configuration, maintenant on compile ! ^^

Compilation et exécution

Ouvrez le fichier main.c (ou autre), et entrez un code GTK+, à tout hasard :

#include <stdlib.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
/* Initialisation de GTK+ */
gtk_init(&argc, &argv);
return EXIT_SUCCESS;
}

Appuyez sur le bouton Build pour compiler votre projet.

Pour l'exécuter, cela va être un peu différent par rapport à d'habitude. En effet, le fait que GTK+ nécessite X11 pose quelques problèmes avec XCode, et on ne peut donc pas utiliser le bouton Build & Run.

Pour lancer le programme, on tapera dans un Terminal :

open-x11 ~/Desktop/Mon Projet/build/Debug/mon_executable

Ce qui aura pour effet de lancer X11 si ce n'est déjà fait, puis votre programme :) .

Génial, non ? :magicien:

Vous êtes maintenant prêt à programmer ! :)

Dans le chapitre suivant, vous allez apprendre les bases de GTK+ ansi que la création d'une fenêtre.

Example of certificate of achievement
Example of certificate of achievement