Makefile ***尽管使用了制表符,但缺少分隔符

Makefile ***尽管使用了制表符,但缺少分隔符,makefile,Makefile,问这个问题是我最后的办法。我尝试运行“makeall”,但我得到了错误 Makefile:457: *** missing separator. Stop. 在与cloc的连线上(第二行) 我将该行和文件$(PROJECT.cloc)中的空格都改为制表符。但是,错误仍然存在。它只出现在那一行。我不知所措。使用vim或vi打开makefile,然后写入:set list它将显示所有空格和选项卡。制表符为^I,行尾为^$。确保缩进总是使用制表符,而不是空格,甚至是4个空格。4空格在makefil

问这个问题是我最后的办法。我尝试运行“makeall”,但我得到了错误

Makefile:457: *** missing separator.  Stop.
在与cloc的连线上(第二行)


我将该行和文件$(PROJECT.cloc)中的空格都改为制表符。但是,错误仍然存在。它只出现在那一行。我不知所措。

使用
vim
vi
打开makefile,然后写入
:set list
它将显示所有空格和选项卡。制表符为^I,行尾为^$。确保缩进总是使用制表符,而不是空格,甚至是4个空格。4空格在makefile中没有制表符您应该使用制表符进行缩进。您也可以使用其他编辑器进行此操作

打开makefile并使用组合键
alt+shift+p
启用空白显示,其中选项卡将由
字符表示,空格将由
字符表示,您可以用
nano
执行与Alperen回答中相同的操作。这将表明
make
在该行开头“看到”了什么,它可能不是制表符,不管它看起来如何。

注意单个空格。使用可以显示空白字符的编辑器。您可以转储文件并查看到底发生了什么。也许有一个不可打印的字符,你是否100%认为``字符真的在其行的末尾?没有尾随空格?为什么要用空格替换选项卡?谢谢你的评论,我写错了。您应该只使用选项卡。因为makefile不接受空格或4个空格。它只允许标签。我现在更正了我的答案。
linecount:
    cloc --read-lang-def=$(PROJECT).cloc \
         src/$(PROJECT) include/$(PROJECT) tools examples \
         python matlab