【问题标题】:Makefile:4: *** missing separator [duplicate]Makefile:4:***缺少分隔符[重复]
【发布时间】:2012-06-22 20:06:49
【问题描述】:

可能重复:
Make error: missing separator

这个愚蠢的错误让我压力很大...

这是file...

我花了一个小时试图找出它有什么问题......我是一个 VIM 用户。 有人能指出为什么吗?我用制表符!

谢谢。

all: hello

hello:  hello_world.c   
    gcc -Wall -o hello.exe hello_world.c

【问题讨论】:

  • 你能在你的问题中内联那个 Makefile(并标记它)吗?
  • @Flexo 我不确定这是否是个好主意。我从stackoverflow复制并粘贴了许多,当我这样做时它们看起来很糟糕。我什至在 vim 中设置了set paste。但我马上就做。

标签: makefile


【解决方案1】:

具有 gcc 命令的行应该以制表符开头,并且您似乎正在使用扩展制表符(空格而不是制表符)。尝试在vim 中使用set noexpandtab

【讨论】:

  • 谢谢。它解决了。这才是真正的问题……配置错误。
  • @User007 很高兴能帮上忙!发生在我身上很多次......:D
【解决方案2】:

这就是你所拥有的:

all: hello

hello:  hello_world.c   
    gcc -Wall -o hello.exe hello_world.c

gcc 命令之前的空格必须是 Tab ,不是一个空格,不是两个空格,不是三个空格等等,而是一个,并且正好是一个制表符

【讨论】:

  • 我相信我有一个标签,但我认为 marcelog 对我的 vim 设置是正确的。但感谢您指出,不。好提醒。
  • @User007 您在问题中链接到的文件在 gcc 命令之前包含 4 个空格。确保您的 vim 设置不会将制表符转换为空格。
  • 是的。因为我的配置让我认为它是选项卡 :) 感谢您的帮助!!!
【解决方案3】:

不,你没有!

我已经下载了你的文件——里面有四个空格,不是制表符。 你可以在 vim 中运行:set list 自己查看。

请删除空格并用制表符代替它(按 ctrl-v ctrl-i)。

以后可以添加

 # vim:noet

到文件。您的默认设置将被文件的set noexpandtab 设置覆盖。

【讨论】:

  • 谢谢。我相信这与我的 vim 设置有关! (:
  • @User007:没错!运行 :set noexpandtab 并尝试再次插入 Tab。
猜你喜欢
  • 2012-12-16
  • 1970-01-01
  • 2022-01-20
相关资源
最近更新 更多