环境: ubuntu 12.04; make: GNU Make 3.81
在当前目录下执行命令touch makefile,编辑内容为:
all:
gcc -o all.o all.c
wq保存退出后, 执行命令Make; 出现错误,"makefile:5: *** 遗漏分隔符 。 停止"
这个是很典型的错误,makfile的命令行是需要tab开始的, 相当于tab键告诉make 这一行是命令行。
只要在gcc前面加上tab就不会有错误了。
all:
gcc -o all.o all.c
这是很常见的一种错误,命令行前面少了tab;
还有一种错误出现在反斜线后面多了空格的情况。 (反斜线一般用于依赖目标太多,得分成多行写才行的情况下),这里为了举个例子,两个依赖。
这时候也会出现*** 遗漏分隔符的错误,原因是file1.o\后面还有空格导致的。这样看不明显的话,可以用命令:
:set list
:set listchars=tab:>-,trail:-, 这样设置tab就会变成>-----, 而trail末尾变用- 表示的;
这样一看就比较明显了。 file1.o\后面有两个-,表示有两个空格。
当然这是其中的一个方法,还有一种方法就是vim配置成程序员用的编辑器,配置完后有各种高亮颜色,细心的一看,只有makefile语法有问题,命令行马上为白色, 没有问题的命令行为黄色,通过颜色就可以简单的判断哪里有问题。