我经常用它make
来编译程序。但是,有时,只有使用某些软件包时,当目录包含空格时,它会显示:
No such file or directory
例子:
如果我make
在目录中运行/home/akib/My Directory/
:
如果目录存在,则:
$ make make: *** /home/akib/My: Is a directory. Stop.
如果不存在,则:
$ make Makefile:<line>: Directory/<file>: No such file or directory make: *** No rule to make target 'Directory/<file>'. Stop.
这是软件包的 Makefile 的错误吗?我认为这是Makefile 和软件包make
本身的错误,因为这种情况只出现在一些软件包中,并且当出现此错误时,会提示一些有错误的行。我打开 Makefile 并看到这些行包含变量。我该如何修复此问题?make
make
答案1
你说得对,这是一个 bug。更多详细信息请见此处,文档如下#712
您可以通过转义空格来更改 makefile,即/home/akib/My\ Directory/
,但它是不一致的和不可预测的,因为它并不总是有效(我能想到的最好的例子是扩展变量中的名称列表)。
_
最好和最快的办法是使用而不是 来重命名路径中的问题文件夹。
这是个解决方法吗?是的。有效吗?再次回答是的。烦人吗?3x 回答是的。