Makefile造成“ make: *** No rule to make target ' xxx ', needed by 'xxx'。 停止。”错误的一种原因

最近在写Makefile时,遇到了“ make: *** No rule to make target ' xxx ', needed by ' xxx '。 停止。”这个错误。这里分享我产生这个错误的原因。

之所以产生这个错误,是因为本人将VPATH这个变量拼写错误所造成的。

VPATH这个变量是Makefile中的一个特殊变量,它的作用是告诉Makefile去哪里寻找依赖文件和目标文件,如果没有定义这个变量,那么Makefile只会在自己所在的目录寻找依赖文件和目标文件。

告诉Makefile去哪里寻找依赖文件和目标文件有两种方法:

第一种就是在依赖文件和目标文件前面加上路径。

第二种就是通过VPATH这个变量,将Makefile可以寻找目标文件和依赖文件的路径写入VPATH这个变量,如

VPATH = src  headers

那么Makefile就会首先在当前目录下寻找目标文件和依赖文件,如果找不到,就会到src文件夹下和headers文件夹下寻找。

我就是采用的第二种方法,但是由于VPATH这个变量名字写错了,所以就找不到对应的文件了,产生了这个错误。

希望可以帮助到遇到相同问题的朋友们。

发布了8 篇原创文章 · 获赞 5 · 访问量 8133

猜你喜欢

转载自blog.csdn.net/m0_38091095/article/details/105562251