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

Eclipse C & C++ Discussion :

Eclipse CDT, GTK+-2.0 et Windows : une solution


Sujet :

Eclipse C & C++

  1. #1
    Nouveau membre du Club Avatar de big x
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 38
    Points
    38
    Par défaut CDT et GTK+, dll non trouvée à la compilation
    Bonjour,
    J'utilise GTK sous CDT et j'ai beaucoup de mal à configurer mon projet et les options de mon compilateur.

    ALors j'ai récupéré un "pack gtk".

    Puis j'ai ajouté les dossiers suivants dans mes includes path de gcc:
    C:\Program Files\Pack GTK+\include
    C:\Program Files\Pack GTK+\include\atk
    C:\Program Files\Pack GTK+\include\cairo
    C:\Program Files\Pack GTK+\include\cairo\src
    C:\Program Files\Pack GTK+\include\glib
    C:\Program Files\Pack GTK+\include\glib\build
    C:\Program Files\Pack GTK+\include\glib\glib
    C:\Program Files\Pack GTK+\include\glib\gmodule
    C:\Program Files\Pack GTK+\include\glib\gobject
    C:\Program Files\Pack GTK+\include\glib\gthread
    C:\Program Files\Pack GTK+\include\gtk+
    C:\Program Files\Pack GTK+\include\gtk+\contrib
    C:\Program Files\Pack GTK+\include\gtk+\gtk
    C:\Program Files\Pack GTK+\include\gtk+\gdk
    C:\Program Files\Pack GTK+\include\gtk+\gdk-pixbuf
    C:\Program Files\Pack GTK+\include\gtk+\modules
    C:\Program Files\Pack GTK+\include\libpng
    C:\Program Files\Pack GTK+\include\libpng\contrib
    C:\Program Files\Pack GTK+\include\pango
    C:\Program Files\Pack GTK+\include\pango\modules
    C:\Program Files\Pack GTK+\include\pango\pango
    C:\Program Files\Pack GTK+\include\tiff
    C:\Program Files\Pack GTK+\include\tiff\libtiff
    C:\Program Files\Pack GTK+\lib\glib\include
    C:\Program Files\Pack GTK+\lib\gtk+\include
    Ajouté les flags suivants à gcc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -c -fmessage-length=0 -mms-bitfields
    Et ajouté les liens suivants à MinGW :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -LC:\Program Files\Pack GTK+\bin
    -llibgtk-win32-2.0-0.dll
    (qui ce trouve dans le répertoire précité)

    Je n'ai plus d'erreurs, mais gcc n'arrive pas à trouver "libgtk-win32-2.0-0.dll".

    La mise en oeuvre de GTK sous windows, eclipse et CDT est vraiment fastidieuse...mais pour des raisons pratiques je ne peut pas me passer d'eclipse.

    Si quelqu'un peu me conseiller?

    Cordialement,

    Xavier
    MDA tralala...

  2. #2
    Membre éclairé
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Points : 810
    Points
    810
    Par défaut
    salut,

    j'avais essayé de compiler une appli simple gtk aussi, et c'était encore plus simple que toi car j'était sous linux. cependant ca m'a pris toute l'après midi.

    et au final, avec eclipse, tu ne peut compiler qu'un seul executable par projet, donc j'ai laissé tomber.

    je te conseille donc d'écrire tes makefiles à la main (moi j'utilise cmake), et en utilisant la fenetre "build target", tu n'aura pas besoin de sortir d'eclipse pour compiler.

    en plus, de mon expérience, quand les gens se mettent à utiliser eclipse, ils se mettent à confondre, compilation, linkage, chargement de librairie, etc. en écrivant un makefile à la main, j'espère que tu fera les choses clairement

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

  3. #3
    Nouveau membre du Club Avatar de big x
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 38
    Points
    38
    Par défaut
    merci de tes conseils, mais j'ai finalement réussi à m'en sortir.

    Je mets résolu à ce post, et je vais poster une petite doc sur comment utiliser Eclipse CDT + GTK+-2.0 sous Windows.

    En espérant que ça puisse en aider quelques uns.

    Tchao!
    MDA tralala...

  4. #4
    Nouveau membre du Club Avatar de big x
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 38
    Points
    38
    Par défaut Eclipse CDT, GTK+-2.0 et Windows : une solution
    Il n'est pas garanti que cela marche à 100%!

    En espérant que cela vous aide!


    Installation du runtime GTK+-2.0 :

    Celui que j'ai utilisé :
    http://monsitecpp.free.fr/tutoriaux/...TK%2B_2.10.exe

    Lancez l'installation du Runtime GTK+ et installez-le où bon vous semble, et mettez à jour votre variable d'environnement PATH :
    "Démarrer">"Panneau de configuration">"Système">"Avancé">"Variables d'environnement", puis cherchez la variable PATH, et modifiez la en ajoutant ";C:\votre\chemin\d'install\du\runtime"

    Installation d'un pack GTK+-2.0 :

    Celui-ci que j'ai utilisé :
    http://monsitecpp.free.fr/tutoriaux/..._Im%40GinE.exe

    Installez le à un endroit que vous allez mémoriser, car cela servira plus tard. Personellement, je l'ai installé dans "C:\apps\GTK+".


    De l'utilisation de GTK avec Eclipse CDT :

    1/ Ajouter les includes nécessaires pour la compilation :

    votre_projet(clic droit)>"Properties">"C/C++ Build">"Settings">"Tool settings">"GCC C Compiler">"Directories"

    Ajouter les dossiers suivants :

    C:\apps\GTK+\include
    C:\apps\GTK+\include\atk
    C:\apps\GTK+\include\cairo
    C:\apps\GTK+\include\cairo\src
    C:\apps\GTK+\include\glib
    C:\apps\GTK+\include\glib\build
    C:\apps\GTK+\include\glib\glib
    C:\apps\GTK+\include\glib\gmodule
    C:\apps\GTK+\include\glib\gobject
    C:\apps\GTK+\include\glib\gthread
    C:\apps\GTK+\include\gtk+
    C:\apps\GTK+\include\gtk+\contrib
    C:\apps\GTK+\include\gtk+\gtk
    C:\apps\GTK+\include\gtk+\gdk
    C:\apps\GTK+\include\gtk+\gdk-pixbuf
    C:\apps\GTK+\include\gtk+\modules
    C:\apps\GTK+\include\libpng
    C:\apps\GTK+\include\libpng\contrib
    C:\apps\GTK+\include\pango
    C:\apps\GTK+\include\pango\modules
    C:\apps\GTK+\include\pango\pango
    C:\apps\GTK+\include\tiff
    C:\apps\GTK+\include\tiff\libtiff
    C:\apps\GTK+\lib\glib\include
    C:\apps\GTK+\lib\gtk+\include
    2/ Ajouter le flag "-mms-bitfields" à GCC C Compiler :

    votre_projet(clic droit)>"Properties">"C/C++ Build">"Settings">"Tool settings">"GCC C

    Compiler">"Miscellaneous"

    Ajouter "-mms-bitfields" (sans les guillemets) dans le champ "Other flags".

    3/ Ajouter les liens vers les .lib dans MinGW C Linker :

    votre_projet(clic droit)>"Properties">"C/C++ Build">"Settings">"Tool settings">"MinGW C Linker">"Libraries"

    - Dans Library search path (-L), ajouter :
    C:\apps\GTK+\lib

    - Dans libraries (-l), ajouter :
    gtk-win32-2.0
    gobject-2.0
    glib-2.0

    Ces librairies doivent être dans "C:\apps\GTK+\lib". On remarque qu'il ne faut pas mettre les ".lib"


    Voila voila, si tout se passe bien, votre projet doit compiler, et l'edition de liens doit s'effectuer correctement.


    Je tiens encore à préciser que cela fonctionne chez moi, que ce n'est pas universel, donc il ne s'agit pas d'une recette miracle, mais de quelques conseils pour y arriver.

    La config sur laquelle cela a été testé :
    Windows Server 2003
    Eclipse Version: 3.3.0
    Eclipse CDT Version: 4.0.1
    GTK+-2.10.12

    Mais si vous avez le choix préférez une plateforme Linux pour developper en GTK!

    Tchao!
    MDA tralala...

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Une méthode plus légère à mon goût
    Ce post montre comment compiler un projet Eclipse CDT avec gtk et glade avec une makefile managé.

    C'est une alternative à la solution proposée plus haut qui évite de rentrer les différents chemins un par un, ce qui est fastidieux.

    Pour cela il faut :

    - (1) donner les références des différents fichiers header et
    - (2) fournir les différents chemins des librairies



    ****************************************
    Etape 1 :
    ****************************************
    Faire click droit sur le projet ->"Properties">"C/C++ Build">"Settings">"Tool settings">"GCC C Compiler">"Miscellaneous"

    Dans la case "others flags" rajouter
    -mms-bitfields -IC:/GTK/include/libglade-2.0 -IC:/GTK/include/gtk-2.0 -IC:/GTK/include/libxml2 -IC:/GTK/lib/gtk-2.0/include -IC:/GTK/include/atk-1.0 -IC:/GTK/include/cairo -IC:/GTK/include/pango-1.0 -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/include/freetype2 -IC:/GTK/include

    Note : ces chemins dépendent de votre installation de gtk (directement sous le C: dans mon cas). Vous pouvez obtenir ces chemins en tapant 'pkg-config --cflags libglade-2.0 gtk+-2.0' dans une console.

    ****************************************
    Etape 2 :
    ****************************************

    2.1 ::::: Modification de l'ordre d'apparaition des macros

    Faire click droit sur le projet ->"Properties">"C/C++ Build">"Settings">"Tool settings">"MinGW C Linker"

    Dans commande line patern remplacer "${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" par
    "${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX} ${OUTPUT} ${INPUTS} ${FLAGS}" (on fait passer la macro FLAGS en dernier)

    Note : je n'ai pas bien compris pourquoi il faut inverser les flags (si qu'un a la réponse merci de nous le faire savoir).


    2.2 ::::: Définition des différentes options pour le linker

    Faire click droit sur le projet ->"Properties">"C/C++ Build">"Settings">"Tool settings">"MinGW C Linker">"Miscellaneous"

    Dans la case "Linker flags", rajouter :

    -user32 -Wl,-luuid -LC:/GTK/lib -lglade-2.0 -lxml2 -lgtk-win32-2.0 -lgdk-win32-2.0 -lgdi32 -limm32 -lshell32 -lole32 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv

    Note : ces chemins dépendent de votre installation de gtk (directement sous le C: dans mon cas). Vous pouvez obtenir ces chemins en tapant 'pkg-config --libs libglade-2.0 gtk+-2.0' dans une console.


    En espérant que ca aidera.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. eclipse-cdt + gtk
    Par jamin dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 13/09/2009, 23h10
  2. [eclipse CDT] une chaîne de car. dans un ".h"
    Par olivier57b dans le forum Eclipse C & C++
    Réponses: 2
    Dernier message: 10/06/2008, 12h46
  3. Configurer Eclipse CDT sous Windows
    Par mamelouk dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 21/11/2007, 18h48
  4. [Eclipse CDT] creer une lib et un executable dans le meme projet ?
    Par mamelouk dans le forum Eclipse C & C++
    Réponses: 4
    Dernier message: 28/11/2006, 16h05

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