2016-04-07 87 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編輯器,以確保所有的格式都正確。

相關問題