我经常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.
它是包的错误make
还是Makefile?我认为这是make
Makefile 和两者的错误,因为这只发生在某些软件包中,并且当发生此错误时会make
告诉一些错误行。我打开 Makefile 并看到这些行包含变量。我该如何解决这个问题?
你是对的,这是一个错误。更多细节在这里,它被记录为#712
您可以通过转义空格来更改makefile,即
/home/akib/My\ Directory/
,但它充其量是不一致和不可预测的,因为它并不总是有效(我能想到的最好的例子是从变量扩展名称列表时)。您最好和最快的选择是将路径中有问题的文件夹重命名
_
为.
这是一种解决方法吗?是的。它在工作吗?是的,再一次。恼人的?3x 是的。