【问题标题】:Makefile - missing separator [duplicate]Makefile - 缺少分隔符[重复]
【发布时间】:2012-12-16 02:13:20
【问题描述】:

可能重复:
Make error: missing separator

在 makefile 中有这段代码:

PROG = semsearch
all: $(PROG)
%: %.c
gcc -o $@ $< -lpthread

clean:
rm $(PROG)

还有错误

missing separator. stop.

有人可以帮我吗?

【问题讨论】:

  • 缩进在 Makefile 中不是可选的。您所拥有的内容与您发布的内容完全相同还是空白被删除了?
  • 这个问题应该重新打开。这里的答案也展示了如何编写不带tab的Makefile,完全规避问题。

标签: makefile gnu-make


【解决方案1】:

您需要在以gccrm 开头的行前面加上一个硬制表符。 make 规则中的命令必须以制表符开头(除非它们在同一行上跟在分号后面)。 结果应如下所示:

PROG = semsearch
all: $(PROG)
%: %.c
        gcc -o $@ $< -lpthread

clean:
        rm $(PROG)

请注意,某些编辑器可能被配置为插入一系列空格而不是硬制表符。如果这些行的开头有空格,您还会看到“缺少分隔符”错误。如果您在插入硬制表符时遇到问题,请使用分号方式:

PROG = semsearch
all: $(PROG)
%: %.c ; gcc -o $@ $< -lpthread

clean: ; rm $(PROG)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-06-22
  • 2017-08-07
  • 2014-07-18
  • 2015-06-19
  • 2011-03-19
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
相关资源
最近更新 更多