我有一个目录,其中包含两个文件夹,src并且binmakefile位于根目录中。即使没有更改,此makefile仍会继续编译(不是最新的)。我是否缺少此makefile文件?
all:
make a b
a: ./src/a.cpp
g++ -o ./bin/a ./src/a.cpp
b: ./src/b.cpp
g++ -o ./bin/b ./src/b.cpp
Run Code Online (Sandbox Code Playgroud)
您的规则要求创建文件a和b,但他们不这样做:他们创建bin/a和bin/b。
因此,当make检查您的规则,它总是发现,a和b不存在,并试图通过执行相关命令创建它们。
可能的解决方法:
.PHONY: all
all: bin/a bin/b
bin/a: src/a.cpp
g++ -o bin/a src/a.cpp
bin/b: src/b.cpp
g++ -o bin/b src/b.cpp
Run Code Online (Sandbox Code Playgroud)
开启.PHONY:https : //www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets
| 归档时间: |
|
| 查看次数: |
216 次 |
| 最近记录: |