gpt4 book ai didi

c++ - "clean"在 make 文件中不工作

转载 作者:搜寻专家 更新时间:2023-10-31 00:13:49 25 4
gpt4 key购买 nike

这是我的 make 文件。

 all: observer

observer: main.o weather_center.o display.o subject.o observer.o
g++ main.o weather_center.o display.o subject.o observer.o -o observer

main.o: main.cpp
g++ -c main.cpp

weather_center.o: weather_center.cpp
g++ -c weather_center.cpp

display.o: display.cpp
g++ -c display.cpp

subject.o: subject.cpp
g++ -c subject.cpp

observer.o: observer.cpp
g++ -c observer.cpp

clean:
rm -f *o observer

这里我尝试使用

clean:
rm -f *o observer

清理临时 *.o 文件。但是程序编译并生成目标程序集,但不会删除 *.o 文件。也没有显示任何错误。

  • 我在终端中尝试了 rm -f *o observer。它工作正常。
  • 我已经使用 Tab 进行缩进
  • 目录中没有以cleanrm开头的文件。
  • 尝试使用 $(RM) 而不是 rm。但不走运

最佳答案

我发现了问题。必须将 clean 指定为 all 的目标,否则它不会调用。一般是这样的。

全部:[你的高管姓名]干净

在上面的例子中

全部:观察者干净

这是上述案例的完整make文件

all: observer clean

observer: main.o weather_center.o display.o subject.o observer.o
g++ main.o weather_center.o display.o subject.o observer.o -o observer

main.o: main.cpp
g++ -c main.cpp

weather_center.o: weather_center.cpp
g++ -c weather_center.cpp

display.o: display.cpp
g++ -c display.cpp

subject.o: subject.cpp
g++ -c subject.cpp

observer.o: observer.cpp
g++ -c observer.cpp

clean:
rm -f *o observer

关于c++ - "clean"在 make 文件中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627248/

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