2016-04-07 60 views
1

我在尝试运行make命令时遇到此错误。由于“缺少分隔符”而无法运行make文件

makefile:13: *** missing separator. Stop.

我对make文件代码如下,应该是正确的。

all: printname 

CC = gcc 

INCLUDE = . 

CFLAGS= -g -Wall -ansi 

printname: printname.o last.o first.o 
    $(CC) -o printname printname.o last.o first.o 

printname.o: printname.c 
    $(CC) -I$(INCLUDE) $(CFLAGS) -c printname.c 

last.o: last.c ln.h 
    $(CC) -I$(INCLUDE) $(CFLAGS) -c last.c 

first.o: first.c fn.h 
    $(CC) -I$(INCLUDE) $(CFLAGS) -c first.c 

我已经调查这个问题,我相当肯定,这是假设是某种问题与选项卡的,但我已经通过代码几次了,以确保不存在流氓空间,它的格式正确。如果任何人有任何想法,我可以做些什么来解决这个问题,这将是非常棒的! 谢谢。

+1

您确定每个'$(CC)'行(特别是第13行)都以单个标签开头吗? –

+0

然而......它很可能是第13行的空间或另一个不可见字符的问题。但是,如果没有文件的文字副本,我们就不可能知道。因为它很短,也许你可以发布文件的十六进制转储。 – rodrigo

+0

我已经检查过好几次了,我在vi中打开了这个文件,并且确定没有任何额外的字符从windows或者我的OSx中的任何东西,但是我什么也没有看到。至于这个标签,我确信它们都是单个标签,没有空格,除此之外,我会再次确认。 @Elliott Frisch –

回答

1

对于任何稍后遇到此问题的人。这个问题可能来自某些文本编辑器的转换。我在括号中所做的选项卡实际上并不被视为选项卡。如果你打算写一个make文件,那么你可以像vi那样拉起你的linux编辑器,以确保所有的格式都正确。

相关问题