Bonjour,
Je relance ce sujet pour lequel je n'ai pas trouvé de solution qui me semble assez complète.
Mon problème est que j'ai des portions de code que je dois compiler de cette façon et tant qu'à faire j'aimerais que toute l'application soit compilée dans cet environnement.
J'avais déjà installé dans c:\GTK un runtime GTK pour tester pyGTK que j'ai récupéré via gladewin32.sourceforge.net.
Pour compiler mon hello world en C/Gtk, je dois installer les packages DEV de GTK.
J'ai trouvé un bundle all-in-one sur http://www.gtk.org/download-windows.html que j'ai décompressé dans c:\Gtk-dev
J'ai modifié le fichier /etc/profile dans l'arborescence MSYS pour y ajouter les 2 lignes suivantes :
J'ai créé un makefile pour compiler mon programme suivant le modèle extrait de la FAQ GTK http://library.gnome.org/devel/gtk-faq/stable/x426.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 export PKG_CONFIG_PATH=/c/Gtk-dev/lib/pkgconfig export PATH="$PATH:/c/Gtk-dev/bin"
Malheureusement, j'ai une erreur de compilation sur le package pixman-1 requis par cairo .
Effectivement, dans le package all-in-one le fichier c:\Gtk-dev\lib\pkgconfig\cairo.pc contient la ligne suivante :
or je ne vois pas dans les lib de pixman-1.lib dans cette arborescence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Requires.private: libpng13 pixman-1 >= 0.10.0
J'ai supprimé le contenu du répertoire c:\Gtk-dev
J'ai donc voulu procéder à partir des package élémentaires de GTK. J'ai donc décompressé les 5 packages de base de GTK (version DEVelopper) :
- GLib
- GTK+
- Pango
- ATK
- Cairo
Dans le répertoire c:\Gtk-dev
J'ai décompressé les 5 third party dependencies requis (version Binaire) dans le même répertoire (c:\Gtk-dev) :
- zlib
- gettext-runtime
- libpng
- libjpeg
- libtiff
Il a fallu :
- que je déplace le fichier zlib1.dll de c:\Gtk-dev vers c:\Gtk-dev\bin
- que je décompacte le third party pkg-config (version Binaire) dans c:\Gtk-dev
Lorsque j'ai voulu compiler, j'ai eu une erreur :
qui vient de c:\Gtk-dev\lib\pkgconfig\glib-2.0.pc où l'on a la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ...ld.exe cannot find -lintl
J'ai supprimé la directive -lintl puisque là aussi je n'avais pas de fichier intl.lib (qui se trouve par contre dans le package all-in-one).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Libs: -L${libdir} -lglib-2.0 -lintl
Mon hello world (http://library.gnome.org/devel/gtk-t...SEC-HELLOWORLD) compile et s'exécute
Voilà si ça peut être utile à d'autres comme certain post m'ont également aidé.
Par contre, je suis perturbée car les binaires installés avec le runtime (2.12.9) ne semblent pas les mêmes que ceux du bundle (2.12.9 également) : par exemple dans le premier on a libpng12.dll, dans le second libpng13.dll. Je crains de faire un mélange sur ma machine ou que ma procédure ne soit pas bonne.
Si quelqu'un a des éclaircissements sur le sujet, ainsi que sur la librairie intl.lib que j'ai enlevée de glib-2.0.pc cela m'intéresserait.
Merci
Partager