我有这个makefile:
CC=gcc
CFLAGS= -c -Wall -std=c99 -ggdb
all: plan
plan: plan.o graph.o
$(CC) $(CFLAGS) plan.o graph.o -o plan
plan.o: plan.c graph.h
$(CC) $(CFLAGS) plan.c
graph.o: graph.c graph.h
$(CC) $(CFLAGS) graph.c
run: all
./plan
当我运行make时,gcc给我留言“链接器输入文件未使用,因为链接没有完成”,这是什么意思?
答案 0 :(得分:2)
-c
选项表示:
编译或汇编源文件,但不要链接。链接阶段根本没有完成。最终输出是每个源文件的目标文件形式。
构建时不应使用该选项。
请参阅gcc man
对于计划目标,请勿使用CFLAGS:
plan: plan.o graph.o
$(CC) -Wall -std=c99 -ggdb plan.o graph.o -o plan