Programmation GTK2 en Pascal/Une application minimale

Un livre de Wikilivres.
Programmation GTK2 en Pascal

Avant-propos[modifier | modifier le wikicode]

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

L'application[modifier | modifier le wikicode]

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 | modifier le wikicode]

Avec Free Pascal version 1.0.x[modifier | modifier le wikicode]

À 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 | modifier le wikicode]

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 | modifier le wikicode]

Avec Free Pascal[modifier | modifier le wikicode]

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.