IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

[Windows]Compiler une application utilisant gtk avec msys et mingw


Sujet :

GTK+ avec C & C++

  1. #1
    Futur Membre du Club
    Profil pro
    D�veloppeur
    Inscrit en
    Juin 2005
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur

    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Par d�faut [Windows]Compiler une application utilisant gtk avec msys et mingw
    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 :

    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"
    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

    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 :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Requires.private: libpng13 pixman-1 >= 0.10.0
    or je ne vois pas dans les lib de pixman-1.lib dans cette arborescence.

    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 :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ...ld.exe cannot find -lintl
    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
     
    Libs: -L${libdir} -lglib-2.0 -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).

    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

  2. #2
    Futur Membre du Club
    Profil pro
    D�veloppeur
    Inscrit en
    Juin 2005
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur

    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Par d�faut Rectification
    En fait, il faut d�compresser les versions Binaires ET DEVelopper des Third Party dependencies.

    intl.lib correspond au Package gettext-runtime, il n'est fourni que dans le package DEVelopper

    Inversement, si on ne d�compresse que les version DEVelopper des Third Party dependencies, �a ne compile pas non plus

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Package libpng13 was not found in the pkg-config search path
    Perhaps you should add the directory containing 'libpng13.pc' to the PKG_CONFIG_PATH environment variable
    En fait :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    /bin/libpng13.dll
    /lib/pkgconfig/libpng13.pc
    se trouvent dans le package Binaire de libpng !

    Et de cette fa�on, j'ai pu compiler mes exemples sans toucher aux fichiers distribu�s.

  3. #3
    R�dacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    Juin 2004
    Messages
    5 840
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par d�faut
    Bonjour,

    J'ai fait un article sur ce sujet : D�veloppez et d�ployez une application GTK+ sous Windows.

    J'utilise Code:Blocks donc je n'ai pas de probl�me avec pkg-config.

    Merci pour ces explications

    Tu as encore des probl�mes ou tout fonctionne ?

  4. #4
    Futur Membre du Club
    Profil pro
    D�veloppeur
    Inscrit en
    Juin 2005
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur

    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Par d�faut
    Effectivement, j'ai �crit beaucoup de choses pour dire ce que tu pr�cises en quelques lignes.

    J'ai commenc� hier et comme j'envisage de r�cup�rer une partie de code qui doit �tre compil�e via un shell linux, c'est pour cette raison que je n'utilise pas code::blocks qui est par ailleurs install� sur ma machine.

    J'ai bookmarqu� ton tutoriel parce que j'envisage d'utiliser innosetup.

    La compilation de programmes basiques marche

    Ce qui me perturbait, ce sont des modes op�ratoires parfois diff�rents que j'ai trouv� lors de mes recherches sur le NET :
    • Dans ton tutoriel, tu pr�conises de tout d�compresser dans le r�pertoire de MinGW
    • Dans un autre tutoriel GTK, l'auteur imposait d'installer le runtime GTK dans le r�pertoire syst�me Windows, ce que je n'estime pas n�cessaire (chez moi le runtime �tait dans c:\GTK et �a marche)
    • Dans la mailing list [email protected], j'ai trouv� un post indiquant de d�compresser les packages dans le r�pertoire du runtime (ce qui me posait probl�me c'�tait les versions de binaires diff�rentes entre les deux, mon 1er message)


    Du coup j'ai voulu partir des packages et les mettre dans un r�pertoire non syst�me, ind�pendant du compilateur et du runtime pour voir. En d�compressant binaires et version d�veloppement dans un m�me r�pertoire (c:\Gtk-dev), cela a fonctionn�.

    J'ai une question qui est peut-�tre b�te : ayant d�compress� les binaires des diff�rents packages (dans c:\Gtk-dev), ai-je toujours besoin de mon r�pertoire runtime initial (dans c:\Gtk) ?

    Merci

Discussions similaires

  1. Compiler une application utilisant GTK+ avec MinGW
    Par lilivounet dans le forum GTK+ avec C & C++
    R�ponses: 2
    Dernier message: 19/06/2009, 14h42
  2. [Windows]Compiler une application utilisant gtk avec msys et mingw
    Par lilivounet dans le forum GTK+ avec C & C++
    R�ponses: 18
    Dernier message: 26/04/2009, 20h24
  3. Quels API's utiliser pour une application en rapport avec Autocad?
    Par Angelsoul dans le forum API standards et tierces
    R�ponses: 3
    Dernier message: 31/07/2008, 15h21
  4. compiler une application c++ avec ses librairies
    Par elekis dans le forum Linux
    R�ponses: 2
    Dernier message: 08/08/2007, 20h19
  5. [Compiler] Compiler une application avec plusieurs fichiers m
    Par ploukinet dans le forum MATLAB
    R�ponses: 3
    Dernier message: 10/05/2007, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo