-
GTK+3.20 sous Windows
Bonjour,
J'ai récupéré les binaries de GTK+3.20 en téléchargeant les paquets dans MSYS2,
Mes Path MinGW et GTK+ sont bons,
La commande pkg-config --cflags --libs gtk+-3.0 me renvoie convenablement la liste des librairies et des headers,
Je m'en sers dans la commande de compilation gcc :
gcc -mwindows -Wall -mms-bitfields -pthread main.o -LC:/LibC/GTK+/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lz -lpangowin32-1.0 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -o TemplateGTK.exe
Voilà ce que j'obtiens :
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -ldwmapi
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lpthread
collect2.exe: error: ld returned 1 exit status
makefile:76: recipe for target 'TemplateGTK.exe' failed
mingw32-make: *** [TemplateGTK.exe] Error 1
Je n'ai pas ce genre d'erreur si j'utilise le dernier bundle de Tarnyko le 3.6.14,
Avez-vous une idée ?
Merci de votre aide !
-
Bonjour,
as tu essayé ceci:
Code:
gcc `pkg-config --cflags gtk+-3.0` -o TemplateGTK.exe main.c `pkg-config --libs gtk+-3.0`
Lis aussi: https://developer.gnome.org/gtk3/sta...compiling.html
L'ordre des paramètres est important, les libs doivent passer après les cflags depuis quelque temps déjà.
Si ton message d'erreur persiste, vérifie que les libs en question se trouvent bien dans les cflags passés. Si ce n'est pas le cas, regarde si elles sont bien installés sur ton système. Tu peux ensuite soit passer leur chemin avec l'option -L, ou modifier le fichier .pc de package-config correspondant, mais à mon avis c'est censé marcher directement "out of the box", donc je te conseillerais plutôt de corriger ton installation plutôt que mettre des rustines.
-
Merci liberforce,
Très occupé à d'autres tâches en ce moment, je n'ai pas pu te répondre mais voici ce que je peux dire dans l'état actuel de mes pérégrinations avec GTK+3 en win32 :
Tout d'abord le terminal de lignes de commandes Windows ne permet pas l'incorporation d'écritures sous la forme 'pkg-config...', ce n'est pas bien grave car pour mes essais j'ai utilisé le shell de MSYS2 qui lui le permet puisque c'est une adaptation win32 d'un bash unix,
De toute façon étrangement pkg-config.exe n'apparait pas dans la liste des exécutables du dossier \bin alors qu'il était présent dans la version 3.6,
Je vais donc faire manuellement la liste des headers et librairies présents dans cette version de GTK+3 afin de les déclarer dans un fichier make, ce sera bien plus simple,
Je ne sais pas si la disparition de cet outil est un oubli ou si c'est volontaire ? C'est bien dommage car c'était pratique
-
Problème résolu !
Pour information, toutes les réponses à mes questions se trouvaient dans le wiki de gnome.org dans la section gtkmm, précisément ici : https://wiki.gnome.org/Projects/gtkmm/MSWindows
Mes erreurs initiales :
1. Mon path pointait mon ancien mingw/msys c'est-à-dire c:\mingw\bin, il faut maintenant l'orienter vers c:\msysxx\mingwxx\bin
2. pkg-config était présent dans les anciens bundles GTK, il faut maintenant le télécharger séparément
Comme je ne développe qu'en C, il m'a suffit d'adapter ce qui est indiqué à mon cas de figure (GTK+3 à la place de gtkmm)
:lol: