我想用make編譯GTK +的例子,但是當我運行它,終端說「使:***沒有規則,使目標‘全部’停止」爲什麼在終端工作時直接用gcc編譯而不是用make文件編譯?
然而,當我通過鍵入以下編譯,它編譯成功。
gcc -g -Wall -o exampleapp main.c exampleapp.c exampleapp.h exampleappwin.c exampleappwin.h -export-dynamic `pkg-config --cflags --libs gtk+-3.0`
這就是我把我的make文件:
NAME=exampleapp
CFLAGS=-g -Wall -o $(NAME)
GTKFLAGS=-export-dynamic `pkg-config --cflags --libs gtk+-3.0`
SRCS= \
main.c \
exampleapp.c exampleapp.h \
exampleappwin.c exampleappwin.h
CC=gcc
all: main
main: $(SRCS)
$(CC) $(CFLAGS) $(SRCS) $(GTKFLAGS)
clean:
/bin/rm -f $(NAME)
是有毛病我生成文件?如果是這樣,我該如何糾正它?
我得到的'Makefile:13:***缺少分隔符。 Stop.'。當我修復標籤時,它似乎工作。我會建議你複習[這個答案](http://stackoverflow.com/a/1484873/2970947)。 –
該行開始'$(CC)'應 –
好,感謝地標籤。但現在我得到「gtk/gtk.h:沒有這樣的文件或目錄」。我想知道如何在不使用make文件的情況下成功找到gtk頭文件。我提到的兩個不一樣嗎? – 15012011