Bonjour ;
Je ne sais pas comment mettre MSYS2 sur codeblocks. Quelqu'un peut-t-il m'aider ?
Cordialement
Bonjour ;
Je ne sais pas comment mettre MSYS2 sur codeblocks. Quelqu'un peut-t-il m'aider ?
Cordialement
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é .
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. (~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à çà .
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`
ATTENTION : les apostrophes n'en sont pas. C'est la combinaison Alt Gr + 7. Ils sont nécessaires.
Dans l'onglet "Linker settings" copiez la ligne suivante dans la partie droite.
`pkg-config gtk+-3.0 --libs`
ATTENTION : les apostrophes n'en sont pas. C'est la combinaison Alt Gr + 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 :
La compilation et l'exécution devrait fonctionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
je l'ai fais sous code bloque 17 08 et ca marche pas dois-je utiliser le 20.03 j'avais bien sur télechargé il y a un moment
Qu'est-ce qui ne marche pas ?
Effectivement la dernière version de Code::Blocks peut solutionner le problème qui "ne marche pas".
Merci monsieur, avant je créais toujours le programme avant d'entré les configuration se qui fait que quand j'essaie de compiler ca me met toujours une erreur car mon programme est toujours sous les configurations précédentes je crois bien avec le 20 c'est se qui se passe en tout cas... sinon des conseils a me donner en programmation sous linux ??
j'ai ubuntu en dual boot mais il a de srx problemes un probleme d'affichage couplé a un probleme de dépendence impossible de faire une maj de 2 go je compte booté pour ré^parer le systeme ou juste supprimer et installer kali linux qui a toujours eté mon systeme de reve ^^
c'est le sujet mais j'en profite mdr
Si tu es sous linux les choses sont "beaucoup plus simples".
Une fois ton projet ouvert dans Code::Blocks tu vas dans le menu "Project->Properties...". Dans la fenêtre qui s'ouvre en bas à droite il y a un bouton "Project's build options...". Tu cliques dessus. La fenêtre qui s'ouvre te permets de voir/configurer le nécessaire pour compiler avec Gtk+.
Dans cette fenêtre voila comment doit être configurer Gtk+ en fonction des onglets choisis :
Pour les flags :
Pour les libs :
bonsoir sorry vraiment du dérangement
bah en fait techniquement bien avant tout ca j'utilisais gtk + 2 c'est quoi la différence étrangement j'ai voulu installer gtk+ 4 mais la manip ne marche plus en fait c'est étrange l' installation code block du 4 ne se base t-il pas sur le mm principe que le 3 ?? 80
aussi j'arrive plus a compiler gtk 3 juste gtk 2...
Pour pouvoir utiliser les différentes bibliothèques il faut installer les paquets .dev correspondants. Ton souci vient peut-être de là.
en vrai lorsque j'ai crue avoir réussi j'avais juste compiler lancer sans compiler donc ca ma lancé mon ancien projet gtk+ 2
sinon c'est vraiment important de migrer au 3 ou au 4 vous vous etes sous lequel lequel
c'est quoi les machin dev ??
mon ubuntu a un probleme lié au dépendance j'arrive plus a rien installer
Si tu commences un nouveau projet autant être sur la dernière mouture des bibliothèques utilisées. Maintenant tout dépend aussi du public visé. Si tu fais une application scientifique par exemple sachant que les utilisateurs ne pourront peut-être pas mettre à jour leur système d’exploitation, l’ordinateur étant administré par une personne tierce, alors tu dois utiliser la version adéquate.
Si tu es débutant, pas d’hésitation, Gtk 4. Quitte à apprendre une bibliothèque, autant apprendre la dernière version.
Pour les paquets sous Linux tu disposes d’un paquet qui contient la bibliothèque gtk4 : libgtk-4-0. C’est suffisant pour l’utiliser.
Si tu désires compiler des applications utilisant cette même bibliothèque il te faut un paquet supplémentaire qui contient tous les fichiers header (les fichiers .h). Ces paquets se terminent en générale par «*dev*». Pour Gtk c’est le paquet libgtk-4-dev.
merci pour l'info c'est vraiment plus facile avec linux on dirait bien vais devoir juste réparer les problemes dependence et paff
sinon sur window ca me met aucun répertoire ou fichier de ce type
As-tu bien suivi le tuto ci-dessus ?
oui sauf la partie du compilateur car mon ide en a un
aussi je n'est pas toucher a l'etape creer une application gtk+
Partager