猿问

makefile:4:***缺少分隔符。停止

makefile:4:***缺少分隔符。停止

这是我的makefile:

all:ll

ll:ll.c   
  gcc  -c  -Wall -Werror -02 c.c ll.c  -o  ll  $@  $<clean :
  \rm -fr ll

当我尝试make cleanmake make,我得到这个错误:

:makefile:4: *** missing separator.  Stop.

我该如何解决?


慕姐8265434
浏览 2774回答 3
3回答

大话西游666

makefile与制表符有非常愚蠢的关系,每个规则的所有操作都由制表符标识......而No 4空格不制作制表符,只有制表符制作标签...检查我使用命令 cat -e -t -v makefile_name它显示了选项卡的存在^I和行结尾$两者对于确保依赖关系正确结束以及制表符标记规则的操作至关重要,这样它们很容易被make实用程序识别.....例:Kaizen ~/so_test $ cat -e -t -v&nbsp; mk.tall:ll$&nbsp; &nbsp; &nbsp; ## here the $ is end of line ...&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$ll:ll.c&nbsp; &nbsp;$^Igcc&nbsp; -c&nbsp; -Wall -Werror -02 c.c ll.c&nbsp; -o&nbsp; ll&nbsp; $@&nbsp; $<$&nbsp;## the ^I above means a tab was there before the action part, so this line is ok .&nbsp;$clean :$&nbsp; &nbsp;\rm -fr ll$## see here there is no ^I which means , tab is not present ....&nbsp;## in this case you need to open the file again and edit/ensure a tab&nbsp;## starts the action part希望这可以帮助 !!

红颜莎娜

在VS Code上,只需单击右下角的“Space:4”,然后在编辑Makefile时将其更改为tab。
随时随地看视频慕课网APP
我要回答