为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
慕姐8265434 2019-08-29 17:42:12
makefile:4:***缺少分隔符。停止这是我的makefile:all:ll ll:ll.c      gcc  -c  -Wall -Werror -02 c.c ll.c  -o  ll  $@  $<clean :   \rm -fr ll当我尝试make clean或make make,我得到这个错误::makefile:4: *** missing separator.  Stop.我该如何解决?
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

makefile与制表符有非常愚蠢的关系,每个规则的所有操作都由制表符标识......而No 4空格不制作制表符,只有制表符制作标签...


检查我使用命令 cat -e -t -v makefile_name


它显示了选项卡的存在^I和行结尾$两者对于确保依赖关系正确结束以及制表符标记规则的操作至关重要,这样它们很容易被make实用程序识别.....


例:


Kaizen ~/so_test $ cat -e -t -v  mk.t

all:ll$      ## here the $ is end of line ...                   

$

ll:ll.c   $

^Igcc  -c  -Wall -Werror -02 c.c ll.c  -o  ll  $@  $<$ 

## the ^I above means a tab was there before the action part, so this line is ok .

 $

clean :$

   \rm -fr ll$

## see here there is no ^I which means , tab is not present .... 

## in this case you need to open the file again and edit/ensure a tab 

## starts the action part

希望这可以帮助 !!


查看完整回答
反对 回复 2019-08-29
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

在VS Code上,只需单击右下角的“Space:4”,然后在编辑Makefile时将其更改为tab。


查看完整回答
反对 回复 2019-08-29
  • 3 回答
  • 0 关注
  • 2773 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信