提问者:小点点

makefile命令在第一个目标之前开始


在make文件中,我收到以下错误消息;makefile:4:***命令在第一个目标之前开始。停下来。

生成文件:

LINK_TARGET = sample4
OBJS = \
    main.o \ 
    remainder.o \ 
    helloWorld.o 
REBUILDABLES = $(OBJS) $(LINK_TARGET)
clean :
    rm -f $(REBUILDABLES)
    echo Clean done
all: $(LINK_TARGET) 
    echo All done
$(LINK_TARGET) : $(OBJS)
    g++ -g -o $@ $^
%.o : %.cpp
    g++ -g -o $@ -c $<
%.dep : %.cpp
    g++ -M $(FLAGS) $< > $@
include $(OBJS: .o=.dep)

如何修复此错误?谢谢。。。


共1个答案

匿名用户

选项卡在makefile中具有特殊的意义,因为它们标记命令行。您应该确保在makefile中不使用选项卡进行缩进。

行延续转义符应该是行中的最后一个字符,包括空格。否则,它将被解析为试图转义空格而不是新行。