您的位置:首页 > 其它

make 中 有关 链接库的一个问题

2015-03-18 09:38 274 查看
在make 中,编译链接项目的时候,我总是写换这样子写。

比如:

CC := gcc
CFLAGS := -Wall -g
LDFLAGS := -ljansson

OBJECTS := das.o parse.o utils.o

all: $(OBJECTS)
<span style="white-space:pre">	</span>$(CC) -c $(LAFLAGS) $(CFLAGS) $(OBJECTS) -o main

das.o: das.c command.h common.h parse.h
$(CC) -c $(CFLAGS) das.c $(LDFLAGS) -o das.o

parse.o: parse.c parse.h
$(CC) -c $(CFLAGS) parse.c $(LDFLAGS) -o parse.o

utils.o: utils.c common.h command.h
$(CC) -c $(CFLAGS) utils.c $(LDFLAGS) -o utils.o

clean:
rm $(OBJECTS) main


这里实际上第一个 all 下面的编译是有问题的,因为链接库,一定要写在 $(OBJECTS) 的后面。

应该这样子写

all: $(OBJECTS)
$(CC)  $(CFLAGS) $(OBJECTS) $(LDFLAGS) -o main


恩,这样子就不会出现bug 了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: