Makefile Make找不到要执行的程序/bin/sh:1:rm:未找到
在下面的Makefile中运行任何命令时,我都会得到错误 找不到 正在讨论的Makefile是 所有调用rm的命令都失败,包括clean命令 我检查了以下事项:Makefile Make找不到要执行的程序/bin/sh:1:rm:未找到,makefile,Makefile,在下面的Makefile中运行任何命令时,我都会得到错误 找不到 正在讨论的Makefile是 所有调用rm的命令都失败,包括clean命令 我检查了以下事项: 调用的程序已安装。我可以毫无问题地从终端给他们打电话 它们的路径都是$PATH 我在Makefile本身中没有任何语法错误。命令以制表符开头 如果在调用命令时添加命令的路径,即:/bin/rm*bin,则其行为与预期相同 作为黑客,我将为Makefile中的每个命令添加完整路径,但我想知道是什么使“make”的行为如此。Makefi
- 调用的程序已安装。我可以毫无问题地从终端给他们打电话
- 它们的路径都是$PATH
- 我在Makefile本身中没有任何语法错误。命令以制表符开头
- 如果在调用命令时添加命令的路径,即:
,则其行为与预期相同/bin/rm*bin
作为黑客,我将为Makefile中的每个命令添加完整路径,但我想知道是什么使“make”的行为如此。Makefile的这一行看起来非常可疑(第2行):
PATH:=~/太空入侵者/
尝试这样做:
$(info PATH before = $(PATH))
PATH:=~/Space-Invaders/
$(info PATH after = $(PATH))
这将显示此命令前后的路径。一个简单的解决方案可能是:
PATH:=~/Space-Invaders/:$(PATH)
看起来这条路对我来说被覆盖了
注意:如果使用简单扩展,则只能递归引用变量(分配给它本身):=,因此如果将其更改为
=
,它会抱怨。这就是问题所在。我已更改路径:=~/空间入侵者/以投影路径:=~/空间入侵者/以避免混淆。非常感谢你。