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+ Discussion :

Compilation avec GTK+


Sujet :

GTK+

  1. #1
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Compilation avec GTK+
    Salut,

    J'ai des problèmes de compilation avec GTK+:

    gtk est installé dans /usr/include/gtk-2.0/ et contient les dossiers:
    /gdk/
    /gdk-pixbuf/
    /gdk-pixbuf-xlib/
    /gtk/

    j'inclus gtk.h comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <gtk-2.0/gtk/gtk.h>
    Quand je compile, gcc me sort pleins d'erreurs provenant des fichiers .h de gtk

    des erreurs du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /usr/include/gtk-2.0/gtk/gtkmenu.h:132: error: syntax error before ‘guint32’
    In file included from /usr/include/gtk-2.0/gtk/gtkaccellabel.h:34,
                     from /usr/include/gtk-2.0/gtk/gtk.h:34,
                     from main.c:39:
    Et ce pour chaque fichier .h
    La ligne 39 de main.c c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <gtk-2.0/gtk/gtk.h>
    Mon makefile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    OBJS = main.c
    FLAGS = -Wall -g
    LIBS =	-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/ include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2 .0/include -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfo ntconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1. 0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
     
     
    Test: $(OBJS)
    	gcc -o Test $(OBJS) $(LIBS) $(FLAGS)
     
    %.o: %.c
    	gcc -c $< -o $@ $(LIBS) $(FLAGS)
     
    clean:
    	rm -rf *.o
    Merci d'avance pour l'aide !

    PS: je suis sous Linux Ubuntu LTS 6.06

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par TheDead Master
    j'inclus gtk.h comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <gtk-2.0/gtk/gtk.h>
    Non pas bien, il faut inclure comme ceci:
    et voici mon Makefile de base pour mes projets GTK+, en fait il faut toujours user le plus possible de pkg-config pour les bibliothèques externes, au moins tu est sûr que tu n'oublies rien car cela peut évoluer au fil des versions !
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    #
    # Variables:
    #
    CC = gcc
    BIN = nom_programme
    SRC = main.c
    OBJ = main.o
     
     
    #
    # Flags d'erreurs:
    #
    ERROR_CFLAGS = -Wall -W
     
     
    #
    # Flags pour le compilateur:
    #
    GLIB_CFLAGS = $$(pkg-config --cflags glib-2.0)
    PANGO_CFLAGS = $$(pkg-config --cflags pango)
    GTK_CFLAGS := $$(pkg-config --cflags gtk+-2.0)
     
    CFLAGS = $(ERROR_FLAGS) $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(GTK_CFLAGS)
     
     
    #
    # Flags pour l'editeur de liens:
    #
    GLIB_LDFLAGS = $$(pkg-config --libs glib-2.0)
    PANGO_LDFLAGS = $$(pkg-config --libs pango)
    GTK_LDFLAGS = $$(pkg-config --libs gtk+-2.0)
     
    LDFLAGS = $(ERROR_FLAGS) $(GLIB_LDFLAGS) $(PANGO_LDFLAGS) $(GTK_LDFLAGS)
     
     
    #
    # Construction du programme:
    #
    all: $(BIN)
     
    $(BIN): $(SRC)
    	$(CC) $(CFLAGS) -c $(SRC)
    	$(CC) $(LDFLAGS) -o $(BIN) $(OBJ)
     
     
    #
    # Nettoyage:
    #
    clean:
    	rm -f *.o *~ core $(BIN)
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Parfait, merci beaucoup !!

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

Discussions similaires

  1. cross compilation avec mingw : probleme avec GTK+
    Par superZozo dans le forum GTK+
    Réponses: 10
    Dernier message: 25/04/2010, 16h36
  2. Erreur de compilation de fichier objet avec gtk
    Par oranoutan dans le forum GTK+
    Réponses: 2
    Dernier message: 14/09/2007, 15h22
  3. compilation de programme avec gtk+
    Par adoumaz dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 31/08/2007, 19h22
  4. probleme de compilation avec GTK+
    Par claire_cartier dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 06/05/2007, 16h26
  5. Probleme instalation/compilation de GTK+ avec VC++
    Par _LVEB_ dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 23/02/2007, 23h02

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