@echo 的用法,总是提示makefile:22: *** 遗漏分隔符 。 停止。
时间: 2023-06-23 20:08:37 浏览: 364
@echo 是一个命令行指令,用于在命令行中打印文本。如果你在Makefile中使用@echo命令时出现了"遗漏分隔符"的错误提示,通常是因为你的命令行语句中没有正确使用制表符或空格来分隔指令。请检查你的Makefile文件的第22行,并确保在命令行语句中正确使用了制表符或空格。例如,正确使用@echo命令的示例如下:
```makefile
mytarget:
@echo "this is my target"
```
在这个例子中,@echo指令前面有一个制表符,它是用来分隔指令与目标的。如果你还是无法解决问题,请在Makefile文件中使用一个文本编辑器来查看每行指令是否正确分隔。
相关问题
Makefile:13: *** 遗漏分隔符 (null)。 停止。
回答: 当出现"makefile:2:***遗漏分隔符。停止。"这样的错误提示时,通常是因为在编写makefile文件时,使用了空格而不是tab作为分隔符。在makefile中,gcc、rm、cp等命令前面必须使用tab分隔符,而不能使用空格。[1]另外,有时候还需要检查编辑器的设置,确保制表符被正确地插入,而不是被空格代替。[2]在你提供的第三个引用中,错误提示"Makefile:13: *** 遗漏分隔符 (null)。 停止。"也是因为没有正确使用tab分隔符导致的。请确保在makefile中正确使用tab分隔符来分隔命令和目标。[3]
Makefile:11: *** 遗漏分隔符 (null)。 停止。
错误信息 "Makefile:11: *** 遗漏分隔符 (null)。停止。" 出现在编译或构建过程中,通常是在使用 `make` 工具处理 Makefile(一种自动化构建脚本)时遇到的。这个错误表示 Makefile 在第11行遇到了语法问题,可能是因为缺少了一个预期的分隔符,比如冒号(:)、空格或者换行,或者是其他符号在不适当的位置。
具体来说:
- 如果缺少了冒号(:),这可能是命令和参数之间的分隔,如 `target: commands` 这样的结构。
- 如果是空白字符位置不当,检查这一行是否有未关闭的括号或者引号。
- 可能是某个规则定义不完整,例如一个依赖项后面没有紧跟应该执行的命令。
为了解决这个问题,请按照以下步骤排查:
1. 打开 Makefile 文件,定位到第11行。
2. 检查该行是否存在遗漏的冒号、分号或者其他必要的分隔符。
3. 检查语法,确保每个命令、依赖关系等都正确地写入了。
4. 使用文本编辑器的搜索功能,查找并修复潜在的语法错误。
如果你不确定如何修复,可以尝试提供这行出错的具体内容,以便我能给出更具体的建议。
阅读全文