make makefile:5: *** 遗漏分隔符 (null)。 停止。是什么问题
时间: 2023-09-10 16:14:01 浏览: 85
这个错误通常表示在 Makefile 文件的某一行存在语法错误,导致 Make 无法正确解析该行,从而出现错误。具体来说,这个错误可能是由于某一行的命令没有以制表符或空格开头,或者命令中包含了非法字符等问题引起的。你可以检查 Makefile 文件中第 5 行的语法是否正确,并尝试修改错误以解决这个问题。
相关问题
Makefile:13: *** 遗漏分隔符 (null)。 停止。
回答: 当出现"makefile:2:***遗漏分隔符。停止。"这样的错误提示时,通常是因为在编写makefile文件时,使用了空格而不是tab作为分隔符。在makefile中,gcc、rm、cp等命令前面必须使用tab分隔符,而不能使用空格。[1]另外,有时候还需要检查编辑器的设置,确保制表符被正确地插入,而不是被空格代替。[2]在你提供的第三个引用中,错误提示"Makefile:13: *** 遗漏分隔符 (null)。 停止。"也是因为没有正确使用tab分隔符导致的。请确保在makefile中正确使用tab分隔符来分隔命令和目标。[3]
Makefile:2: *** 遗漏分隔符 (null)。 停止 tab缩进
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对缩进有严格的要求。