Compilation GTK

sarah45 -  
 sarah45 -
Bonjour,

Bonjour, j'ai un programme des plus basiques en GTK, écrit en C, lorsque je tape ceci dans mon shell:

gcc 'pkg-config --cflags gtk+-3.0' main.c -o test 'pkg-config --libs gtk+-3.0

tout va bien et mon programme est bien crée.

Mais j'ai essayé de faire un Makefile qui fait exactement la même chose:

CC = gcc

CFLAGS = -Wall
CFLAGS += -D_XOPEN_SOURCE=500
CFLAGS += -g
GTK_CFLAGS = 'pkg-config --cflags gtk+-3.0'
GTK_LDFLAGS = 'pkg-config --libs gtk+-3.0'

RM = rm -f

NAME = test

SRCS = main.c

OBJS = $(SRCS:.c=.o)

all: $(NAME)

$(NAME): $(OBJS)
$(CC) $(GTK_CFLAGS) $(SRCS) -o $(NAME) $(GTK_LDFLAGS)

clean:
$(RM) $(OBJS)

fclean: clean
$(RM) $(NAME) *~

re: fclean all

Et là j'ai cette erreur suivante:

In file included from main.c:1:0:
main.h:4:21: fatal error: gtk/gtk.h: Aucun fichier ou dossier de ce type
compilation terminated.
make: *** [main.o] Erreur 1

Quelqu'un pourrait il m'expliquer pourquoi ça ne marche pas et comment corriger le Makefile?
Merci bien.

2 réponses

  1. sarah45
     
    ça veut dire quoi échapper les simples quotes?

    le fait d'écrire GTK_CFLAGS = $(shell pkg-config --cflags gtk+-3.0)

    n'a pas résolu le problème...
    0
    1. GRDX Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   30
       
      Je viens de tester avec ce Makefile minimaliste:
      CC = gcc
      
      GTK_CFLAGS = $(shell pkg-config --cflags gtk+-3.0)
      GTK_LIBS = $(shell pkg-config --libs gtk+-3.0)
      
      #GTK_CFLAGS = 'pkg-config --cflags gtk+-3.0' 
      #GTK_LIBS = 'pkg-config --libs gtk+-3.0'
      
      all:
              $(CC) $(GTK_CFLAGS) -o example-0 example-0.c $(GTK_LIBS)
      
      clean:  
              rm example-0
      
      

      et tout fonctionne chez moi, tu peux essayer avec les back quotes mais cela reviens quasiment au même.
      0
    2. sarah45
       
      Merci ça fonctionne mais alors pourquoi mon Makefile ne fonctionnait pas...?
      0