0

我有这个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 给我消息“链接器输入文件未使用,因为链接未完成”,这是什么意思?

4

1 回答 1

2

-c选项意味着:

编译或汇编源文件,但不要链接。链接阶段根本没有完成。最终输出是每个源文件的目标文件形式。

构建时不应使用该选项。

gcc 人

更新

对于计划目标,不要使用 CFLAGS:

plan: plan.o graph.o
    $(CC) -Wall -std=c99 -ggdb plan.o graph.o -o plan
于 2013-09-30T08:54:31.063 回答