c-如何在makefile中链接math.h库



我需要在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

最新更新