Bonjour.
A force de voir des étudiants sous Windows utiliser Gtk+2 parce qu'ils ne trouvent/comprennent pas comment utiliser Gtk+3 voir Gtk+4 je me lance ici dans un petit tuto. Je vous avoue faire un effort. Windows 10 n'est pas mon système d'exploitation préféré
![:D](https://www.developpez.net/forums/images/smilies/icon_biggrin.gif)
.
En préambule je précise qu'aucune installation d'un système de compilation n'a été faite.
Pour commencer l'équipe de Gtk+ met à notre disposition une page dédiée à l'installation sous Windows :
https://www.gtk.org/docs/installations/windows/. Autant s'en servir.
Installation de MSYS2:
J'ai téléchargé MSYS2 (msys2-x86_64-20210725.exe) puis installé en laissant tous les champs tels qu'ils étaient présentés. L'installation c'est donc effectuée dans c:\msys64.
Après l'installation le lancement du shell n'a posé aucun problème. J'ai tout de suite mis à jour comme précisé sur la page officielle de MSYS2 avec la commande "
pacman -Syu".
Une fois l'installation des mises à jour effectuée je suis passé à la phase 2. J'ai lancé la commande "
pacman -S --needed base-devel mingw-w64-x86_64-toolchain" comme toujours indiqué par le site officiel. Cette commande me propose de choisir entre différents outils de compilation. N'étant pas avare d'outils je décide de les installer tous.
![:D](https://www.developpez.net/forums/images/smilies/icon_biggrin.gif)
(~200Mo à télécharger).
Installation des bibliothèques Gtk+
Maintenant que MSYS2 intègre tous les outils nécessaires à une compilation, je reviens sur la page de Gtk+ qui m'indique comment les installer en tapant la commande "
pacman -S mingw-w64-x86_64-gtk3" puis "
pacman -S mingw-w64-x86_64-glade" pour celles et ceux qui désirent construire leur interface façon "wysiwyg". D'autres installations sont proposées pour Python.
Code::Blocks
Maintenant il ne me reste plus qu'à installer la dernière mouture de
Code::Blocks v20.03. Je l'installe et le lance illico.
Les ennuis commencent ici. Une première fenêtre apparaît pour me signifier qu'aucun compilateur n'a été trouvé ! C'est un comble, MSYS2 s'en est justement occupé. Passons cette fenêtre pour arriver sur l'interface principale. On va aller fouiller dans les menus de configuration pour voir comment spécifier un compilateur.
Spécifier le compilateur :
Il faut ouvrir la fenêtre depuis le menu "
Settings->Compiler". Dans cette fenêtre il y a différents onglets dont "
Toolchain executables". Cliquez dessus.
Il faut spécifier le répertoire où se trouve les outils de compilation dans "
Compiler's installation directory". Pour ma part, comme je n'ai rien changé lors de l'installation je spécifie "
C:\msys64\mingw64\bin". Ce répertoire est important pour l'utilisation de Gtk+ aussi.
Ensuite en dessous choisissez de nouveau le même répertoire pour la ligne correspondante à gcc. Vous pouvez répétez l'opération pour les autres outils de compilation si vous deviez les utiliser.
Maintenant Code::Blocks peut compiler. C'est déjà çà
![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
.
Compiler une application Gtk+ :
Passons maintenant à l'étape finale. Compiler une application Gtk+.
Histoire de voir ce que ca donne je crée un nouveau projet Gtk+ puisque Code::Blocks me le propose.
Une première fenêtre me demande le nom du projet puis une seconde me demande où est situé Gtk+. Cette fenêtre nous aide à choisir en nous disant que c'est le répertoire qui contient le répertoire "include" et le répertoire "lib" dans lesquels il y a Gtk+. Chez moi c'est ici "
C:\msys64\mingw64". Je sélectionne donc ce chemin. Mais malheureusement il n'en veut pas.
Tant pis, on va faire autrement. On va configurer Code::Blocks de manière à ce qu'il intègre directement les bibliothèques Gtk+.
Configurer Code::Blocks pour utiliser Gtk+ :
On ouvre à nouveau la fenêtre "
compiler settings". L'onglet "
compiler flags" sélectionné en dessous il y a une rangée d'onglets. Sélectionnez l'onglet "
Other compiler options". Dans la
partie gauche copiez la ligne suivante :
`pkg-config gtk+-3.0 --cflags`
![:alerte:](https://www.developpez.net/forums/images/smilies/alerte2.gif)
ATTENTION
![:alerte:](https://www.developpez.net/forums/images/smilies/alerte2.gif)
: les apostrophes n'en sont pas. C'est la combinaison ALT + 7. Ils sont nécessaires.
Dans l'onglet "Linker settings" copiez la ligne suivante dans la
partie droite.
`pkg-config gtk+-3.0 --libs`
![:alerte:](https://www.developpez.net/forums/images/smilies/alerte2.gif)
ATTENTION
![:alerte:](https://www.developpez.net/forums/images/smilies/alerte2.gif)
: les apostrophes n'en sont pas. C'est la combinaison ALT + 7. Ils sont nécessaires.
Validez en fermant la fenêtre.
Premiers tests :
Créez un projet en console. Choisissez le langage C. Dans le fichier source main.c remplacez le code source par celui-ci et tentez une compilation :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include <stdio.h>
#include <stdlib.h>
#include "gtk/gtk.h"
int main(gint argc, gchar **argv)
{
gtk_init (&argc, &argv);
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show_all (window);
gtk_main ();
return 0;
} |
La compilation et l'exécution devrait fonctionner.