对于下面复制的 make 文件,我收到缺少分隔符的错误。选项卡空间似乎没有任何问题。
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 需要一个分隔符,通常为 :
。它不会将此行检测为命令。您输错了意图:应该有制表符的地方有空格。
好的编辑器会突出显示以空格开头的 makefile 行,但看起来应该以制表符开头。
关于makefile - make 命令 makefile 错误 :18: *** missing separator. 停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10097193/