【发布时间】:2015-03-31 13:49:33
【问题描述】:
请注意,这不是其他名为 generic makefile 的问题的重复。
我已遵循有关通用 makefile 的其他问题的所有说明,这是我从中得出的代码:
CFLAGS = -c
CC = cc
SOURCES = $(wildcard *.cc)
OBJECTS = $(patsubst %.cc,%.o,%(SOURCES))
EXEC = run
all: build clean
build: $(OBJECTS)
$(CC) $(OBJECTS) -o $(EXEC)
%.o: %.cc
$(CC) $(CFLAGS) $<
clean:
rm *.o
但是,当我在我的目录中使用名为 test.cc 的文件执行 make 时,它给了我以下错误:
cc -o run
cc: error: no input files
*** Error code 1
Stop.
make: stopped in /somewhere
请注意,我使用的是 FreeBSD,make 和 cc 命令是操作系统自带的。
【问题讨论】:
-
注意:如果 *.cc 文件包含 C++,您应该使用 C++ 编译器。
CC = cc很可能是一个 C 编译器。