« Programmation GTK/Compilation de Bonjour tout le monde » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
(Aucune différence)

Version du 26 avril 2005 à 00:22

Supposons que vous avez sauvegardé le code précédent dans un fichier nommé bonjour.c, pour le compiler tapez la commande suivante&nbsp:

gcc -Wall -g bonjour.c -o bonjour_monde -L/usr/X11R6/lib \

   -lgtk -lgdk -lglib -lXext -lX11 -lm

Les bibliothèques invoquées ci-dessus doivent toutes être dans vos chemins de recherche par défaut, sinon, ajoutez -L<library directory> pour que gcc recherche dans ces répertoires les bibliothèques nécessaires. Sur mon système Debian GNU/Linux, par exemple, je dois ajouter -L/usr/X11R6/lib pour qu'il trouve les bibliothèques X11 (NdT&nbsp: et c'est pareil sur mon système Red Hat Linux...).

L'ordre des bibliothèques est important. L'éditeur de liens doit connaître les fonctions d'une bibliothèque dont il a besoin avant de les traiter.

Si vous compilez en utilisant des bibliothèques statiques, l'ordre dans lequel vous listez les bibliothèques devient très important. L'exemple donné ci-dessus devrait fonctionner dans tous les cas.

Les bibliothèques que l'on utilise sont&nbsp:

   * La bibliothèque glib (-lglib), qui contient diverses fonctions. Seule g_print() est utilisée dans cet exemple. GTK est construit au dessus de glib et vous aurez donc toujours besoin de celle-ci. Voir la section concernant glib pour plus de détails.
   * La bibliothèque GDK (-lgdk), l'enveloppe de Xlib.
   * La bibliothèque GTK (-lgtk), la bibliothèque des widgets, construite au dessus de GDK.
   * La bibliothèque Xlib (-lX11 utilisée par GDK.
   * La bibliothèque Xext (-lXext). Cette dernière contient le code pour les pixmaps en mémoire partagée et les autres extensions X.
   * La bibliothèque mathématique (-lm). Elle est utilisée pour différentes raisons par GTK.