Programmation GTK2 en Pascal/Une application minimale

Programmation GTK2 en Pascal

Avant-propos

modifier

Cette application GTK minimale va nous permettre de tester l'installation des différents logiciels nécessaires.

L'application

modifier

Elle est simple et minimale. De plus elle ne fait rien. Voilà le fichier gtk000.pas :

program gtk000;
uses gtk2;

begin
  // Initialisation de GTK+ 
  gtk_init(@argc, @argv); 
end.

La compilation sous Linux

modifier

Avec Free Pascal version 1.0.x

modifier

À la première compilation, il convient de générer le fichier des ressources pour GTK+ gtk2.link.res. Ce fichier est utilisé dans l'édition des liens de chaque programme GTK+.

Cela se passe dans le répertoire gtk2 où se trouvent les entêtes GTK+, il faut lancer le script :

$cd gtk2
$./mk_gtk2fpc_link_res.sh

On ne doit relancer ce script que si l'on modifie les en-têtes, lors d'une nouvelle version par exemple.

Pour la compilation, proprement dite, le mieux est d'écrire un script. Dans le cas de figure où on a les sources dans le répertoire où on a décompacté les en-têtes Gtk+, soit comp notre fichier de script :

#!/bin/bash
 
set -e
set -x
$Unites="-Fugtk2/gtk+/gtk -Fugtk2/glib -Fugtk2/atk -Fugtk2/pango -Fugtk2/gtk+/gdk-pixbuf -Fugtk2/gtk+/gdk" 
ppc386 $Unites -k-dynamic-linker=/lib/ld-linux.so.2 -kgtk2/gtk2.link.res $@
 
# end.

Et donc pour lancer notre compilation :

$./comp gtk000.pas
Free Pascal Compiler version 1.0.10 [2004/02/26] for i386
Copyright (c) 1993-2003 by Florian Klaempfl
Target OS: Linux for i386
Compiling gtk000.pas
Assembling gtk000
Linking gtk000
7 Lines compiled, 1.5 sec

Il y a en fait d'autres lignes avec pas mal d'avertissements, car les unités gtk2.pas, etc. sont compilées la première fois.

On peut ensuite lancer notre programme :

$./gtk000

Il ne se passe rien, ce qui est normal puisque on ne lui a rien vraiment demandé. On va pouvoir maintenant dans la suite de ce livre passer à des choses plus sérieuses.

Avec Free Pascal version 2.0.x (1.9.x)

modifier

C'est plus simple :

$ppc386 gtk000
Free Pascal Compiler version 1.9.8 [2005/02/20] for i386
Copyright (c) 1993-2005 by Florian Klaempfl
Target OS: Linux for i386
Compiling gtk000.pas
Linking gtk000
7 Lines compiled, 2.0 sec

Et pour lancer le programme c'est pareil :

$./gtk000

La compilation sous Windows

modifier

Avec Free Pascal

modifier

Comme pour Linux, on peut utiliser un script. Dans le cas de figure où on a les sources dans le répertoire où on a décompacté les en-têtes Gtk+ et le compilateur dans le répertoire pp du même disque, le fichier comp.bat donne ceci :

@echo off
del *.ow
del *.ppw
set Unites=-Fugtk2\glib -Fugtk2\gdk-pixbuf -Fugtk2\pango -Fugtk2\atk -Fugtk2\gtk+\gdk -Fugtk2\gtk+\gtk
echo,
\pp\bin\win32\ppc386 %Unites% -Fu. %1
echo,

Pour compiler, il faut ouvrir une fenêtre « Invite de commandes » (Démarrer - Programmes - Accessoires) et se placer dans le répertoire des sources :

comp gtk000

L'exécution se lance par :

gtk000.exe

Ou via l'explorateur de fichiers.