【发布时间】:2015-09-14 08:48:11
【问题描述】:
在制作文件中,我收到了以下错误消息; 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)
我该如何解决这个错误? 谢谢...
【问题讨论】:
-
我猜
main.o等之前的字符是制表符而不是空格。看起来你的转义反斜杠后还有一些空格。 -
我修复了标签问题,但现在我收到错误消息; main.o:1:警告:看到 NUL 字符;其余行忽略 main.o:1: *** 缺少分隔符。停止。
-
反斜杠后可能有空格。
-
我解决了这个问题。非常感谢。删除反斜杠后的空格并将makefile的最后一部分更改为; main.o : main.cpp helloWorld.cpp 剩余.cpp helloWorld.o : helloWorld.cpp 剩余.cpp 剩余.o : 剩余.cpp
标签: c++ linux variables makefile