gpt4 book ai didi

c++ - Makefile,循环依赖被删除,需要澄清

转载 作者:行者123 更新时间:2023-11-30 04:25:56 25 4
gpt4 key购买 nike

的 makefile 中
  1 SHELL=/bin/zsh
2 CC=g++
3
4 TARGET = target/jj
5 SOURCES = $(shell echo src/*.cpp)
6 HEADERS = $(shell echo include/*.h)
7 OBJECTS = $(SOURCES:.c=.o)
8 FLAGS = -Wall -c
9
10 all: $(TARGET)
11
12 # Create final executable from .o
13 $(TARGET): $(OBJECTS)
14 $(CC) $(OBJECTS)
15
16 # Create .o from .cpp
17 $(OBJECTS): $(SOURCES) # <------------------------------
18 $(CC) $(FLAGS) -c $(SOURCES)
19
20 # Remove objects
21 clean:
22 rm -rf $(OBJECTS)

所以 .. 在第 17 行,$(OBJECTS) 的创建确实依赖于 $(SOURCES),后者在 .o 创建中使用。为什么这一行会产生循环依赖? (改为将行更改为 $(TARGET):,效果很好)

最佳答案

问题出在第 7 行——您的源文件是 .cpp 文件,但您使用的是替换 .c -> .o。尝试将其更改为 .cpp

关于c++ - Makefile,循环依赖被删除,需要澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856649/

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