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 :

Faire fonctionner GTK+3 avec Eclipse sur Windows


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Novembre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2018
    Messages : 31
    Points : 10
    Points
    10
    Par défaut Faire fonctionner GTK+3 avec Eclipse sur Windows
    Bonjour,

    Je suis nouveau sur Eclipse, et j'aimerais coder en C avec comme GUI GTK+3.

    J'ai donc installé GTK+3 via le site officiel avec MSYS2, mais je ne sais pas quels sont les autres commandes ou paramètres à modifier pour faire fonctionner GTK sur Eclipse, je ne trouve aucun tutoriel sur Internet.

    Pour l'instant, j'ai essayé d'installer pkg package via le marketplace Eclipse et j'ai coché gtk+-3, cependant quand je lance mon code, il ne trouve pas gtk/gtk.h .

    Est-ce que quelqu'un pourrait m'aiguiller svp ?

    Si ce n'est pas possible avec Eclipse (que j'ai choisit par rapport à son esthétique), sur quel autre IDE devrais-je coder avec GTK+3 ?

    Merci.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Bonjour,

    chaque IDE est un peu différent, mais globalement, il te faut connaître ton IDE pour savoir où configurer les chemins des fichiers d'include à trouver et des chemins des bibliothèques.
    Il faut ensuite déléguer la recherche de ces chemins à l'outil pkg-config qu'utilise GTK+. Il permet de générer les longues listes de paramètres à passer au compilateur et au linker.

    Il y a quelques réglages spécifiques à Eclipse. En cherchant vite fait sur le web, je tombe sur:
    https://coffeeorientedprogramming.wo...am-in-eclipse/

    Je te conseille d'essayer ces indications (avec un coup de traducteur automatique au besoin si tu as du mal avec l'anglais).
    Attention, le code exemple ne fonctionnera pas tel quel, il y a un problème d'échapement HTML des caractères.
    Copie/colle l'exemple directement à partir du site original: https://developer.gnome.org/gtk3/sta...tml#id-1.2.3.5

    En cas de pépin, repasse nous voir.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Novembre 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2018
    Messages : 31
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    merci beaucoup de m'avoir répondu.

    J'ai déjà essayé de suivre ce tutoriel en effet, le seul problème est que ce tutoriel est fait pour Linux alors que je suis sur Windows, l'étape 5 ne marche donc pas pour moi.

    Le principal inconvénient est que je suis obligé de lui indiquer tous les chemin d'inclusions sinon il ne trouve pas gtk/gtk.h, pango.h,etc. (En revanche, ça marche si je met <gtk-3.0/gtk/gtk.h>).

    Quand je regarde dans mes includes, il y a bien le dossier qui contient absolument tous les fichiers.h nécessaires, mais les chemin et leur location ne correspondent pas (par exemple, gtk.h est dans gtk-3.0/gtk/gtk.h et non dans gtk/gtk.h).

    Ce qui fait que je suis obligé d'indiqué tous les chemins à la main, mais il y a tellement de fichier.h à inclure que c'est bien trop long à faire.

    Alors comment faire pour qu'il trouve bien les fichiers.h tout seul ?

    Merci.

  4. #4
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Il n'y a rien à faire dans son étape 5, il te dit juste qu'il faut faire attention à ne pas builder une config debug et tenter de lancer la config release et inversement.
    Ton message d'erreur est dû au fait que le compilateur ne regarde pas dans le bon dossier pour chercher gtk.h. Tu ne dois sutout pas modifier ton code, c'est pkg-config qui passe les informations.
    Sous Linux, voilà ce que j'ai quand je demande les cflags nécessaires pour compiler une application GTK+ 3:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    $ pkg-config --cflags gtk+-3.0 | tr ' ' '\n'
    -pthread
    -I/usr/include/gtk-3.0
    -I/usr/include/at-spi2-atk/2.0
    -I/usr/include/at-spi-2.0
    -I/usr/include/dbus-1.0
    -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
    -I/usr/include/gtk-3.0
    -I/usr/include/gio-unix-2.0/
    -I/usr/include/mirclient
    -I/usr/include/mircore
    -I/usr/include/mircookie
    -I/usr/include/cairo
    -I/usr/include/pango-1.0
    -I/usr/include/harfbuzz
    -I/usr/include/pango-1.0
    -I/usr/include/atk-1.0
    -I/usr/include/cairo
    -I/usr/include/pixman-1
    -I/usr/include/freetype2
    -I/usr/include/libpng12
    -I/usr/include/gdk-pixbuf-2.0
    -I/usr/include/libpng12
    -I/usr/include/glib-2.0
    -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
    Tu vois l'option -I/usr/include/gtk-3.0 ? Elle indique au compilateur que quand il cherche des fichiers d'en-tête système (c'est à dire entre chevrons < >), il doit chercher dans ces dossiers là (en plus de ceux du système).

    Ainsi quand tu fais un #include <gtk/gtk.h>, il va chercher pour chaque dossier de cette liste de dossiers, s'il y a un sous-dossier gtk contenant un fichier gtk.h. Comme pkg-config lui a dit de regarder dans /usr/include/gtk-3.0, il va trouver /usr/include/gtk-3.0/gtk/gtk.h. C'est aussi simple que cela. En revanche, je ne sais pas comment fonctionne le plugin pkg-config pour eclipse, ni s'il y a de la configuration à faire.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  5. #5
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 329
    Points : 606
    Points
    606
    Par défaut
    Bonjour, je ne connais pas Eclipse et je n'ai que l'expérience de GTK-2 avec Emacs/MSYS sous VISTA.

    Malgré cela ,je me permet quelques conseils:

    ouvre la console de MinGW/MSYS,
    essaye de lancer la commande indiquée par liberforce en la simplifiant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pkg-config --cflags gtk+-3.0
    pour les options de compilation et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pkg-config --libs gtk+-3.0
    pour la liste des bibliothèques utilisées pour l'édition de liens.

    Si MSYS2 est bien installé, pkg-config doit marcher, et te donner les bons chemins, sinon, il faut commencer par là.

    Ensuite, tu peux compiler à la ligne de commande avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -Wall `pkg-config --cflags gtk+-3.0` mes_fichiers.c `pkg-config --libs gtk+-3.0`
    J'en profite pour faire de la publicité pour Emacs.

    C'est vrai qu'au début il faut faire un effort pour apprendre les raccourcis mais il a l'avantage d'être à la fois léger, de marcher aussi bien sous Linux que Windows et d'être très configurable.
    En fait, ce n'est même pas bien compliqué de débuter avec lui (pour avoir le copier/coller de windows, choisir l'option CUA).
    Si on apprend un peu le Elisp (le LISP d'Emacs, qui, il faut bien le reconnaître n'est pas très intuitif) on peut avoir un contrôle complet sur son comportement en écrivant ses propres macros.

    Il doit y avoir trente ans que je l'utilise et l'un de ses mérites, c'est que je peux toujours le faire et utiliser mes propres macros. C'est un investissement dont je suis ravi.
    GraceGTK: a plotting tool at https://sourceforge.net/projects/gracegtk

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/11/2015, 18h06
  2. Eclipse sur Windows et dev local sur Linux : comment faire ?
    Par fredouille31 dans le forum Eclipse PHP
    Réponses: 2
    Dernier message: 17/01/2011, 10h26
  3. CPU à 100% avec postgres sur windows
    Par djaih dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 29/05/2007, 18h45
  4. Faire clignoter un bouton avec Eclipse
    Par Marty McFly dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/04/2006, 03h03
  5. [CDT]C++ avec Eclipse sous Windows
    Par Invité dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 22/10/2004, 08h32

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