Compilation GTK
sarah45
-
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.
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
-
Bonjour,
essaie d'échapper les simple quotes.
Edit: en cherchant un peu:
Problème de Makefile.. Compilation GTK
Exemple 1 Makefile
Exemple 2 Makefile -
ç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...-
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. -
-