1. ホーム
  2. makefile

[解決済み】makeコマンドのエラー makefile:18: *** missing separator. 停止する [重複]。

2022-01-23 20:39:38

質問

以下にコピーしたmakeファイルでは、missing separatorエラーが発生します。タブスペースは何も問題ないようです。

OBJS = driver.o snapshot.o
SHOBJS = malloc.o mymemory.o
CC = g++
DEBUG = -g
CFLAGS = -Wall -c $(DEBUG)
LFLAGS = -Wall $(DEBUG)
Snapshot: $(OBJS)
  $(CC) $(LFLAGS) $(OBJS) -o Snapshot
driver.o: snapshot.h driver.cpp
  $(CC) $(CFLAGS) driver.cpp
snapshot.o: mymemory.h snapshot.h snapshot.cpp
  $(CC) $(CFLAGS) snapshot.cpp
libmymemory.so: $(SHOBJS)
  gcc -shared -o libmymemory.so malloc.o mymemory.o
malloc.o: malloc.c
  gcc -fPIC -g -c -Wall malloc.c
mymemory.o: mymemory.cpp
 gcc -fPIC -g -c -Wall mymemory.cpp 
clean:
 \rm *.o *~ Snapshot

解決方法は?

18行目は gcc -fPIC -g -c -Wall mymemory.cpp . Make はセパレータを期待しています。 : . この行はコマンドとして検出されません。タブを入れるべきところにスペースが入っています。

優れたエディタは、スペースで始まり、タブで始まるべきと思われる行を強調表示します。