首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >make忽略了一些依赖项

make忽略了一些依赖项
EN

Stack Overflow用户
提问于 2014-03-14 02:54:28
回答 1查看 19关注 0票数 0

这是我的Makefile:

代码语言:javascript
复制
CC=gcc
CFLAGS=-Wall -std=gnu99
OBJ1=mknlrescs.o collisionsys.o csheader.o utils.o labels.o csdata.o 
OBJ2=mknrescs.o utils.o

all: mknlrescs mknrescs

mknlrescs: $(OBJ1)
$(CC) $(CFLAGS) -o $@ $<

mknrescs: $(OBJ2)
    $(CC) $(CFLAGS) -o $@ $<

%.o: %.c %.h
    $(CC) $(CFLAGS) -c $<

当我键入make mknlrescs时,我得到以下内容:

代码语言:javascript
复制
$ make mknlrescs
gcc -Wall -std=gnu99   -c -o mknlrescs.o mknlrescs.c
gcc -Wall -std=gnu99 -c collisionsys.c
gcc -Wall -std=gnu99 -c csheader.c
gcc -Wall -std=gnu99 -c utils.c
gcc -Wall -std=gnu99 -c labels.c
gcc -Wall -std=gnu99 -c csdata.c
gcc -Wall -std=gnu99 -o mknlrescs mknlrescs.o -lm
mknlrescs.o: In function `main':
mknlrescs.c:(.text+0x4b): undefined reference to...

还有一堆其他的“未定义的引用...”错误。

其余的对象没有被链接。请注意,它只链接了第一个对象文件。我怎样才能纠正这个错误呢?

EN

回答 1

Stack Overflow用户

发布于 2014-03-14 02:57:22

自动变量$<代表定义配方的规则的第一个先决条件。

如果您想使用所有先决条件,请改用$^

有关完整列表,请参阅Automatic Variables

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22388266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档