我有一个make文件,它为所有源文件创建obj文件,然后使用这些obj文件创建obj文件(基本上编译每个单独的文件,然后将所有这些文件链接在一起)。为Gtk创建文件
CC = gcc
SRC_DIR = src
INC_DIR = inc
OBJ_DIR = obj
CFLAGS = -c -Wall -I$(INC_DIR)
EXE = project
SRCS = $(SRC_DIR)/main.c $(SRC_DIR)/file1.c # and so on...
OBJS = $(OBJ_DIR)/main.o $(OBJ_DIR)/file1.o # and so on...
main : clean build
build: $(OBJS)
$(CC) $(OBJS) -o $(EXE)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(CC) $(CFLAGS) -c $< -o [email protected]
我试图为GTK + 3.0做相同,但都没有成功的网络一直都是相对于示例文件,而不是项目整体上的例子(由多个源文件)。这样一个如:为GTK +
$ cc `pkg-config --cflags --libs gtk+-3.0` hello.c -o hello
Make文件是:
CC = gcc
SRC_DIR = .
INC_DIR = .
OBJ_DIR = Obj
CFLAGS = -Wall -g -o
PACKAGE = `pkg-config --cflags --libs gtk+-3.0`
LIBS = `pkg-config --libs gtk+-3.0`
EXE = Gui
SRCS = $(SRC_DIR)/main.c
OBJS = $(OBJ_DIR)/main.o
main : clean build
build: $(OBJS)
$(CC) $(OBJS) -o $(EXE)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(CC) $(PACKAGE) $(CFLAGS) $< -o [email protected]
但是,这是行不通的。它给出错误(未定义的参考'gtk_init'和其他gtk函数) 我应该做什么修改?
我后来发现了这个,但这里有一个非常好的解释。 http://blog.borovsak.si/2009/09/glade3-tutorial-6-signals.html – madD7