Makefile:2: *** 遗漏分隔符 (null)。 停止 tab缩进
时间: 2024-01-01 08:03:17 浏览: 36
Makefile中的tab缩进是非常重要的,它用于指示规则和命令。如果在Makefile中没有正确使用tab缩进,就会出现类似"*** 遗漏分隔符 (null)。 停止"的错误。
下面是一个示例的Makefile,展示了如何正确使用tab缩进:
```makefile
main: main.o test1.o test2.o
gcc main.o test1.o test2.o -o main
main.o: main.c test.h
gcc -c main.c -o main.o
test1.o: test1.c test.h
gcc -c test1.c -o test1.o
test2.o: test2.c test.h
gcc -c test2.c -o test2.o
```
在这个示例中,每个规则都以目标文件开头,后面是冒号和依赖文件。然后,在下一行开始的位置使用tab缩进,后面是该规则的命令。
确保在Makefile中使用tab缩进而不是空格缩进,因为Makefile对缩进有严格的要求。
相关问题
Makefile:13: *** 遗漏分隔符 (null)。 停止。
回答: 当出现"makefile:2:***遗漏分隔符。停止。"这样的错误提示时,通常是因为在编写makefile文件时,使用了空格而不是tab作为分隔符。在makefile中,gcc、rm、cp等命令前面必须使用tab分隔符,而不能使用空格。[1]另外,有时候还需要检查编辑器的设置,确保制表符被正确地插入,而不是被空格代替。[2]在你提供的第三个引用中,错误提示"Makefile:13: *** 遗漏分隔符 (null)。 停止。"也是因为没有正确使用tab分隔符导致的。请确保在makefile中正确使用tab分隔符来分隔命令和目标。[3]
Makefile:2: *** 遗漏分隔符 (null)。 停止。
这个错误通常是由于Makefile中的缩进问题引起的。在Makefile中,每个命令行必须以一个制表符(Tab)开头,而不是空格。如果你在命令行前使用了空格而不是制表符,就会出现"遗漏分隔符"的错误。
以下是一个示例的Makefile,展示了正确的缩进方式:
```makefile
all: main.c foo1.c foo2.c foo3.c
gcc main.c foo1.c foo2.c foo3.c -o all
```
请注意,在每个命令行前面使用了一个制表符(Tab)进行缩进。