makefile未到达";“干净”;删除.o文件的步骤
未删除.o文件。当我尝试在rm前放置@echo时,似乎也没有发生。有什么想法吗?现在,清理目标取决于“文件”makefile未到达";“干净”;删除.o文件的步骤,makefile,Makefile,未删除.o文件。当我尝试在rm前放置@echo时,似乎也没有发生。有什么想法吗?现在,清理目标取决于“文件”rm、-f、*.o和*~。因此,只有当这些“文件”被修改时,它才会运行 线路 CXX=clang++ $(CXXFLAGS) CXXFLAGS=-O2 OFILES=a.o b.o c.o .SUFFIXES: .o .cpp main: $(OFILES) $(CXX) $(OFILES) clean: rm -f *.o *~ a.o: a.cpp a.h b.o:
rm
、-f
、*.o
和*~
。因此,只有当这些“文件”被修改时,它才会运行
线路
CXX=clang++ $(CXXFLAGS)
CXXFLAGS=-O2
OFILES=a.o b.o c.o
.SUFFIXES: .o .cpp
main: $(OFILES)
$(CXX) $(OFILES)
clean: rm -f *.o *~
a.o: a.cpp a.h
b.o: b.cpp b.h
c.o: c.cpp
应该是两条线
编写makefiles的常见方法如下:
clean:
rm -f *.o *~
在您的情况下,如果您希望“默认”目标为clean
,那么如果您使用上述模板,则根据clean
目标设置default
:
# Variables
VARIABLE1=value1
VARIABLE2=value2
# etc...
# Targets
# The first target is the "default" target when `make` is invoked
# without any specific target
default: some_other_target
# Other targets...
现在,清理目标取决于“文件”
rm
、-f
、*.o
和*~
。因此,只有当这些“文件”被修改时,它才会运行
线路
CXX=clang++ $(CXXFLAGS)
CXXFLAGS=-O2
OFILES=a.o b.o c.o
.SUFFIXES: .o .cpp
main: $(OFILES)
$(CXX) $(OFILES)
clean: rm -f *.o *~
a.o: a.cpp a.h
b.o: b.cpp b.h
c.o: c.cpp
应该是两条线
编写makefiles的常见方法如下:
clean:
rm -f *.o *~
在您的情况下,如果您希望“默认”目标为clean
,那么如果您使用上述模板,则根据clean
目标设置default
:
# Variables
VARIABLE1=value1
VARIABLE2=value2
# etc...
# Targets
# The first target is the "default" target when `make` is invoked
# without any specific target
default: some_other_target
# Other targets...
现在,清理目标取决于“文件”
rm
、-f
、*.o
和*~
。因此,只有当这些“文件”被修改时,它才会运行
线路
CXX=clang++ $(CXXFLAGS)
CXXFLAGS=-O2
OFILES=a.o b.o c.o
.SUFFIXES: .o .cpp
main: $(OFILES)
$(CXX) $(OFILES)
clean: rm -f *.o *~
a.o: a.cpp a.h
b.o: b.cpp b.h
c.o: c.cpp
应该是两条线
编写makefiles的常见方法如下:
clean:
rm -f *.o *~
在您的情况下,如果您希望“默认”目标为clean
,那么如果您使用上述模板,则根据clean
目标设置default
:
# Variables
VARIABLE1=value1
VARIABLE2=value2
# etc...
# Targets
# The first target is the "default" target when `make` is invoked
# without any specific target
default: some_other_target
# Other targets...
现在,清理目标取决于“文件”
rm
、-f
、*.o
和*~
。因此,只有当这些“文件”被修改时,它才会运行
线路
CXX=clang++ $(CXXFLAGS)
CXXFLAGS=-O2
OFILES=a.o b.o c.o
.SUFFIXES: .o .cpp
main: $(OFILES)
$(CXX) $(OFILES)
clean: rm -f *.o *~
a.o: a.cpp a.h
b.o: b.cpp b.h
c.o: c.cpp
应该是两条线
编写makefiles的常见方法如下:
clean:
rm -f *.o *~
在您的情况下,如果您希望“默认”目标为clean
,那么如果您使用上述模板,则根据clean
目标设置default
:
# Variables
VARIABLE1=value1
VARIABLE2=value2
# etc...
# Targets
# The first target is the "default" target when `make` is invoked
# without any specific target
default: some_other_target
# Other targets...
@蒂德斯·史密斯。如果要在编译后删除对象,可以在$(CC)之后添加rm命令
这可以确保编译完成后,所有的.o文件和*~文件都会被删除。@Tidus Smith。如果要在编译后删除对象,可以在$(CC)之后添加rm命令
这可以确保编译完成后,所有的.o文件和*~文件都会被删除。@Tidus Smith。如果要在编译后删除对象,可以在$(CC)之后添加rm命令
这可以确保编译完成后,所有的.o文件和*~文件都会被删除。@Tidus Smith。如果要在编译后删除对象,可以在$(CC)之后添加rm命令
这可以确保编译完成后,所有的.o文件和*~文件都会被删除。那么我如何让它删除它们呢?当我执行“make”时,a.o、b.o和c.o会出现在目录中。“我正试图摆脱这些。”蒂德斯米特读了我的全部答案,它有解决办法。使用两行应该可以让它工作吗?.o文件仍然没有被删除。@TidusSmith并且没有其他错误消息吗?请记住,makefile是敏感的,当涉及到空格时,必须使用制表符,而不是空格来使用命令缩进行。我很抱歉。“保持清洁”确实有效。我正在尝试使用“make”并让它自动删除文件,而不必在之后执行“make clean”。那么我如何让它删除这些文件呢?当我执行“make”时,a.o、b.o和c.o会出现在目录中。“我正试图摆脱这些。”蒂德斯米特读了我的全部答案,它有解决办法。使用两行应该可以让它工作吗?.o文件仍然没有被删除。@TidusSmith并且没有其他错误消息吗?请记住,makefile是敏感的,当涉及到空格时,必须使用制表符,而不是空格来使用命令缩进行。我很抱歉。“保持清洁”确实有效。我正在尝试使用“make”并让它自动删除文件,而不必在之后执行“make clean”。那么我如何让它删除这些文件呢?当我执行“make”时,a.o、b.o和c.o会出现在目录中。“我正试图摆脱这些。”蒂德斯米特读了我的全部答案,它有解决办法。使用两行应该可以让它工作吗?.o文件仍然没有被删除。@TidusSmith并且没有其他错误消息吗?请记住,makefile是敏感的,当涉及到空格时,必须使用制表符,而不是空格来使用命令缩进行。我很抱歉。“保持清洁”确实有效。我正在尝试使用“make”并让它自动删除文件,而不必在之后执行“make clean”。那么我如何让它删除这些文件呢?当我执行“make”时,a.o、b.o和c.o会出现在目录中。“我正试图摆脱这些。”蒂德斯米特读了我的全部答案,它有解决办法。使用两行应该可以让它工作吗?.o文件仍然没有被删除。@TidusSmith并且没有其他错误消息吗?请记住,makefile是敏感的,当涉及到空格时,必须使用制表符,而不是空格来使用命令缩进行。我很抱歉。“保持清洁”确实有效。我正在尝试使用“make”并让它自动删除文件,而不必在之后执行“makeclean”。