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 :

Makefile gtk sous FreeBSD


Sujet :

GTK+ avec C & C++

  1. #1
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut Makefile gtk sous FreeBSD
    voila tout est dans le titre, je n'arrive absolument pas a compiler avec GTK sous FreeBSD

    voila 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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    SRC		=	main.c
     
    OBJ		=	$(SRC:.c=.o)
     
    NAME		=	client
     
    CC		=	gcc
     
    INCLUDES	=	-I.
     
    ERROR_CFLAGS	=	-W -Wall
     
    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)
     
    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)
     
    $(NAME):		$(OBJ)
    			$(CC) $(CFLAGS) -c $(SRC)
    			$(CC) $(LDFLAGS) -o $(NAME) $(OBJ)
     
    all:			$(NAME)
    			@chmod 750 $(NAME_CLI)
    voila mon main.c
    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
     
    #include <gtk.gtk.h>
     
    int     main(int argc, char **argv)
    {
      GtkWidget     *pWindow;
     
      gtk_init(&argc, &argv);
     
      pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      gtk_widget_show(pWindow);
      gtk_widget_destroy(pWindow);
     
      return (1);
    }
    et voila mon message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $> make
    gcc -O -pipe  -c main.c
    main.c:11:21: error: gtk/gtk.h: No such file or directory
    main.c: In function 'main':
    main.c:15: error: 'GtkWidget' undeclared (first use in this function)
    main.c:15: error: (Each undeclared identifier is reported only once
    main.c:15: error: for each function it appears in.)
    main.c:15: error: 'pWindow' undeclared (first use in this function)
    main.c:19: error: 'GTK_WINDOW_TOPLEVEL' undeclared (first use in this function)
    *** Error code 1
    $>
    pourtant quand je fais un locate de gtk.h, il existe bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /usr/local/include/gtk-2.0/gtk/gtk.h
    /usr/local/include/gtk12/gtk/gtk.h
    comment puis-je faire ?
    merci

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Euh, tu n'as pas l'air de faire grand chose de toutes les variables que tu définis (les *_CFLAGS et *_LDFLAGS). Il faudrait les utiliser dans les règles de compilation

  3. #3
    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
    Voici mon makefile inspiré de la FAQ GTK+ (http://library.gnome.org/devel/gtk-faq/stable/x426.html) qui a marché sous windows et mac os

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    # Basic GTK+ app makefile
    CC      = gcc
    SOURCES = main.c
    OBJS    = ${SOURCES:.c=.o}
    CFLAGS  = `pkg-config gtk+-2.0 --cflags`
    LDFLAGS = `pkg-config gtk+-2.0 --libs`
    EXEC    = hello
     
    all: $(OBJS)
            ${CC} -o ${EXEC} ${OBJS} ${LDFLAGS}
     
    .c.o:
            ${CC} ${CFLAGS} -c $<

  4. #4
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut
    tien c'est interessant cette ligne la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .c.o:
            ${CC} ${CFLAGS} -c $<
    je l'ai deja utiliser pour des compilation sur mutliple dossier mais sans savoir comment elle marche
    comment elle marche ?

  5. #5
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 19
    Par défaut
    Plus simple camarade :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    GCC = ...
    ...
    GTK = `pkg-config --libs --cflags gtk+-2.0`
    ....
    $(NAME) :
               $(GCC) $(GTK) $(SRC) ... -o $(NAME)
    all : $(NAME)
    Epitech, What else ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/02/2008, 01h23
  2. [Free Pascal] Pascal sous FreeBSD
    Par logiqueciel dans le forum Free Pascal
    Réponses: 5
    Dernier message: 23/09/2004, 20h06
  3. Comment compiler un prog Gtk sous Debian ?
    Par GLDavid dans le forum GTK+
    Réponses: 3
    Dernier message: 25/06/2004, 19h49
  4. [FreeBSD] Passer root sous FreeBSD
    Par Willand dans le forum BSD
    Réponses: 3
    Dernier message: 15/04/2004, 09h54
  5. [GTK]PB Librairie GTK+ sous dev-c++
    Par wozzy dans le forum Dev-C++
    Réponses: 15
    Dernier message: 05/11/2002, 14h55

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