gpt4 book ai didi

使用 makefile 编译多个 .c 文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:17 31 4
gpt4 key购买 nike

我想使用 makefile 一次编译多个 .c 文件。我已经做了这个:

CC= gcc

CPPFLAGS = -I.

CFLAGS = -W -Wall -ansi -pedantic

TARGET = test

RM = rm

OBJECTS = xxx.o yyy.o zzz.o

SOURCES = $(OBJECTS:.o =.c)

.PHONY: all clean

all: $(TAREGT)

clean:

$(RM) $(TARGET) $(OBJECTS)

$(TAREGT) : $(OBJECTS)

$(CC) $^ -o $@

$(OBJECTS) : $(SOURCES)

$(CC) $(CFLAGS) $(CPPFLAGS) -c $^

我不知道为什么这行不通(“对“所有人”无事可做”)。有人有想法吗?

最佳答案

这一行创建了一个循环依赖:

SOURCES = $(OBJECTS:.o =.c)

尝试用这个替换它:

SOURCES = $(patsubst %.o,%.c,$(OBJECTS))

关于使用 makefile 编译多个 .c 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41921922/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com