【问题标题】:Makefile weird errorMakefile 奇怪的错误
【发布时间】:2014-05-02 20:44:59
【问题描述】:

这是我的 makefile,每当我 make 或 make clean 时,我都会收到此错误: “makefile:11: * 缺少分隔符。停止。” 我很确定我做对了,但不确定为什么会出现这个错误。这是我第一次处理这个错误,所以我不知道如何修复它或解决它......

 COMPILER = gcc
 CCFLAGS = -g -Wall
 CFLAGS2 = -g

 all: malloc test

 debug:
make DEBUG=TRUE

 malloc.o: malloc.c malloc.h
$(COMPILER) $(CCFLAGS) -c malloc.c malloc.h

 malloc: malloc.o
$(COMPILER) $(CCFLAGS) -o malloc malloc.o

 test.o: test.c
$(COMPILER) $(CFLAGS2) -c test.c

 test: malloc.o test.o
$(COMPILER) $(CCFLAGS) -o test test.o malloc.o

 ifeq ($(DEBUG), TRUE)
  CCFLAGS += -g
 endif

 clean:
rm -f malloc
rm -f *.o
rm -f test
rm -f *.o



ERROR
  "makefile:11: *** missing separator.  Stop."

【问题讨论】:

  • 缩进很重要。这篇文章是否准确地反映了您的 Makefile?
  • 您知道,如果您在 Google 中搜索“Makefile missing separator”,整个结果的第一页都会向您解释这个错误……这可能是关于 makefile 的最常见问题。只是说。

标签: c++ c makefile


【解决方案1】:

Makefile 要求您在所有配方行的开头都有一个制表符。

 target ... : prerequisites ...
 <TAB>recipe
 <TAB>...
 <TAB>...

【讨论】:

  • @ouah 谢谢,效果很好!我有另一个问题。我有一个叫做 malloc.c 的东西,我没有 main 函数,基本上我的项目是实现 malloc 并且我这样做了 malloc.c 只是我的 malloc 实现,我的 test.c 基本上是我做的主文件我的测试。但我得到一个错误,说我的 malloc.c 没有主目录。
  • @user3100209 您可能需要删除行 malloc: malloc.o 和 Makefile 中的后续行。
猜你喜欢
  • 1970-01-01
  • 2012-01-03
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
  • 2014-10-11
  • 2012-04-27
  • 2013-10-30
  • 2016-09-18
相关资源
最近更新 更多