这是我的makefile:

all:ll

ll:ll.c   
  gcc  -c  -Wall -Werror -02 c.c ll.c  -o  ll  $@  $<

clean :
  \rm -fr ll

当我尝试make clean或make make时,我得到这个错误:

:makefile:4: *** missing separator.  Stop.

我该怎么解决呢?


当前回答

如果你在这里搜索如何使你添加的选项卡和新行可以通过vim理解,你必须首先在vim中启用选项卡。

你可以在添加制表符之前使用:set noet即(从空格切换到制表符)。

使用这个命令,您的选项卡将看起来像其他选项卡(即^I)和***缺少分隔符。停止。make的错误将消失:)

在你做了更改之后,你可以用set et切换回来

其他回答

第4行以“空格,空格”开始,而不是“制表符”——没有其他。

这是因为制表符被空格取代。 若要禁用此功能,请转到

中- >编辑- >首选项- >编辑器

并删除检查

"用空格替换制表符"

如果有人遇到这个问题

*** missing separator.  Stop.

在构建过程中,他们应该仔细检查通往源代码的文件系统路径,它不应该包含像“#”这样的特殊字符。

例如,路径

/home/user/#my_sources/

可能无效

如果你们中有人正在使用Intellij的产品,解决方案如下:

转到首选项>编辑器>代码样式 这里您需要选择与您的问题相关的文件类型。但大多数情况下你需要选择其他文件类型。 在打开的选项卡中,标记“使用选项卡字符”复选框并小心,选项卡大小和缩进值必须为4。

关键点是“HARD TAB”

检查是否使用TAB而不是空格 检查.vimrc中的set tabstop=X