执行makefile文件时出现:Makefile:29: *** missing separator. Stop.

从系统提示来看是缺少分隔符,具体原因其实是制表符tab的关系。在makefile中,每个规则的所有动作都由制表符标识,也就是说每个命令行开始是以tab键开始的,而你用4个空格形成的空格效果,不算做制表符。
所以当你不确定命令行前是否由tab键形成时,你可以用下面命令:cat -etv makefile_name
这时你的makefile文件将会把TAB字符显示为^I,在每行结束处显示$。以之前使用的makefile文件为例,使用上面命令后显示如下:

# Go parameters^M$
VERSION=1.9.2^M$
GOCMD=go^M$
GORUN=$(GOCMD) run^M$
run:^M$
^I$(GORUN) main.go^M$

通过这样,你就可以很容易看到自己的makefile文件的格式是否有误,只要命令开始不是以^I开始,改变即可。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值