我需要在makefile中编译3个文件-part1.c、part2.c和part3.c。只有part3.c需要使用<math.h>图书馆在生成文件之前,以下是gcc命令的样子:
gcc -g -o part1 part1.c
gcc -g -o part2 part2.c
gcc -g -o part3 part3.c -lm
当我尝试使用makefile来运行";制造";命令,我不断收到错误,它无法识别math.h库中的任何数学函数。
这是我的makefile中到目前为止不起作用的内容:
CC = gcc
CFLAGS = -Wall -g
all: driver1
clean:
rm -f *.o driver1
part1.o: part1.c
$(CC) $(CFLAGS) -c part1.c
part2.o: part2.c
$(CC) $(CFLAGS) -c part2.c
part3.o: part3.c
$(CC) $(CFLAGS) -c part3.c -lm
driver1: part1.o part2.o part3.o
$(CC) $(CFLAGS) -o driver1 part1.o part2.o part3.o
我曾试图运行我提供的makefile,但它给了我错误。如有任何帮助,将不胜感激
part3.o
不需要与库链接,尽管它使用了头文件。将所有内容链接到driver1
:时需要库
# ...
part3.o: part3.c
$(CC) $(CFLAGS) -c part3.c
driver1: part1.o part2.o part3.o
$(CC) $(CFLAGS) -o driver1 part1.o part2.o part3.o -lm