我现在不知道怎么在makefile中指定C文件和头文件的路径.
请大侠赐教
9 个解决方案
#1
设置变量,如:
OBJ_DIR = ./objs
SRC_DIR = ./src
指定目标文件:
OBJS = \
$(OBJ_DIR)/aaa.o \
$(OBJ_DIR)/bbb.o
后面对于生成.o文件:
$(OBJ_DIR)/%.o:$(SRC_DIR)/%.c
OBJ_DIR = ./objs
SRC_DIR = ./src
指定目标文件:
OBJS = \
$(OBJ_DIR)/aaa.o \
$(OBJ_DIR)/bbb.o
后面对于生成.o文件:
$(OBJ_DIR)/%.o:$(SRC_DIR)/%.c
#2
但是头文件怎么办呢?
不可能一个一个加吧?
能用vpath 么?我用了,但是有报错,没用对
#3
头文件所在目录用-I选项添加,具体搜索“gcc编译选项"
#4
这样就行了。
CC = gcc
DIST = main
CFLAGS = -g -pg
LIBS = -g -pg
SOURCES = $(wildcard *.c)
OBJS = $(SOURCES:%.c=%.o)
all:$(OBJS)
gcc -o $(DIST) $(OBJS) $(LIBS)
clean:
rm $(DIST) $(OBJS)
#5
+1.
INC_DIR=./include
指定头文件目录时用编译器的-I参数,-I$(INC_DIR)
#6
CFLAGS = -g -pg
LIBS = -g -pg
这两句是干什么的?求赐教
#7
如果我还需要包含别人的头文件,并且是放在其他路径下,这个该怎么办呢?
可以用 INC_DIR +=./(其他路径) 这样么???
#8
CFLAGS是编译选项.
LIBS是链接选项.
这个makefile的特点就是隐式编译, 显示链接, 很强大的
#9
其实我想问的是后面的“-g -pg”是干什么的
#1
设置变量,如:
OBJ_DIR = ./objs
SRC_DIR = ./src
指定目标文件:
OBJS = \
$(OBJ_DIR)/aaa.o \
$(OBJ_DIR)/bbb.o
后面对于生成.o文件:
$(OBJ_DIR)/%.o:$(SRC_DIR)/%.c
OBJ_DIR = ./objs
SRC_DIR = ./src
指定目标文件:
OBJS = \
$(OBJ_DIR)/aaa.o \
$(OBJ_DIR)/bbb.o
后面对于生成.o文件:
$(OBJ_DIR)/%.o:$(SRC_DIR)/%.c
#2
但是头文件怎么办呢?
不可能一个一个加吧?
能用vpath 么?我用了,但是有报错,没用对
#3
头文件所在目录用-I选项添加,具体搜索“gcc编译选项"
#4
这样就行了。
CC = gcc
DIST = main
CFLAGS = -g -pg
LIBS = -g -pg
SOURCES = $(wildcard *.c)
OBJS = $(SOURCES:%.c=%.o)
all:$(OBJS)
gcc -o $(DIST) $(OBJS) $(LIBS)
clean:
rm $(DIST) $(OBJS)
#5
+1.
INC_DIR=./include
指定头文件目录时用编译器的-I参数,-I$(INC_DIR)
#6
CFLAGS = -g -pg
LIBS = -g -pg
这两句是干什么的?求赐教
#7
如果我还需要包含别人的头文件,并且是放在其他路径下,这个该怎么办呢?
可以用 INC_DIR +=./(其他路径) 这样么???
#8
CFLAGS是编译选项.
LIBS是链接选项.
这个makefile的特点就是隐式编译, 显示链接, 很强大的
#9
其实我想问的是后面的“-g -pg”是干什么的