这是我的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.

我该怎么解决呢?


当前回答

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

其他回答

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

默认情况下,您应该始终在制表符后写入命令,而不是空格。可以将其更改为带有. recipeprefix变量的另一个字符。

这适用于gcc行(行#4)。您需要在gcc之前插入tab。

也用rm -fr ll替换\rm -fr ll。在此命令之前也要插入制表符。

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

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

并删除检查

"用空格替换制表符"

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

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

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

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

当你在VSCode中创建Makefile时,你应该设置Tab Size: 4。