C++ 生成文件语法错误。缺少分隔符

C++ 生成文件语法错误。缺少分隔符,c++,makefile,external,libraries,C++,Makefile,External,Libraries,我需要先了解makefile的语法,然后再根据自己的需要修改它。通过网络搜索,我已经能够理解大部分内容,但最后一部分给了我一个语法错误: Makefile:119:**缺少分隔符。停下来 第119行是这里的第一行: rm -rf $(CLEANFILES) .cpp.o: $(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$< .cpp.obj:

我需要先了解makefile的语法,然后再根据自己的需要修改它。通过网络搜索,我已经能够理解大部分内容,但最后一部分给了我一个语法错误:

Makefile:119:**缺少分隔符。停下来

第119行是这里的第一行:

        rm -rf $(CLEANFILES)
.cpp.o:
        $(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$<
.cpp.obj:
        $(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(SRCDIR)/$<'; fi`
.c.o:
        $(CC) $(CFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$<
.c.obj:
        $(CC) $(CFLAGS) $(INCL) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(SRCDIR)/$<'; fi`
rm-rf$(干净文件)
.cpp.o:

$(CXX)$(CXXFLAGS)$(包括)-c-o$@`test-f'$因为您已经从实际的Makefile中剪切和粘贴,所以很难给出特定的答案。如果您提供的第一行,
rm-rf$(CLEANFILES)
确实是第119行,并且makefile在此之前是有效的,那么很可能在
rm-rf$(CLEANFILES)
前面没有选项卡。应该是这样的:

clean:
        rm -rf $(CLEANFILES)
.cpp.o:
        $(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$<
.cpp.obj:
        $(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(SRCDIR)/$<'; fi`
.c.o:
        $(CC) $(CFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$<
.c.obj:
        $(CC) $(CFLAGS) $(INCL) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(SRCDIR)/$<'; fi`
clean:
rm-rf$(干净文件)
.cpp.o:

$(CXX)$(cxflags)$(INCL)-c-o$@`test-f'$@Mat试图提供一个编辑,但没有希望@D1X注意,
TAB
与makefile语法相关。它将操作与规则分开。对不起,我知道TAB与Makefile语法相关,我只是在Stackoverflow中新增的。我想现在修好了。谢谢。@D1X“我知道选项卡与Makefile语法相关…”如果您的Makefile文本与您显示的内容一字不差,则您没有使用
选项卡
s(至少右4个空格)来分隔操作。