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
希望这可以帮助 !!
- 3 回答
- 0 关注
- 2773 浏览
添加回答
举报
0/150
提交
取消