解决 Makefile:13: *** missing separator. Stop
编写 Makefile 时,错误的空格和缩进会导致执行 make 命令失败:报错 Makefile:13: *** missing separator. Stop.
发布于 星期三,三月 27 2024
问题
Makefile 编写完后,执行 make 命令报错 Makefile:13: *** missing separator. Stop.
排查
直接问 Chat GPT:
🤡:遇到 Makefile:13: *** missing separator. Stop.应该怎么解决
🤖:
这个错误通常是由于 Makefile 文件中的第 13 行缺少了一个分隔符(通常是空格或制表符)导致的。Makefile 文件是一个用于描述项目构建过程的文件,它使用特定的语法和格式来指定目标、依赖关系和构建规则。
要解决这个错误,你可以按照以下步骤进行检查和修复:
- 打开 Makefile 文件,找到第 13 行。
- 检查第 13 行的代码,确保目标、依赖项或命令之间有正确的分隔符。通常,分隔符可以是空格或制表符。
- 如果缺少分隔符,在适当的位置插入一个空格或制表符,以满足 Makefile 的语法要求。
- 保存 Makefile 文件,并重新运行 make 命令。
通过以上步骤,应该能够解决 "Makefile:13: *** missing separator. Stop." 的错误。如果问题仍然存在,可能需要进一步检查 Makefile 文件的其他部分,确保语法和格式的正确性。
解决
通过 Chat GPT 的回答我们可以知道,大概率是因为空格或者缩进的问题,导致解析 Makefile 失败。那我们规范一下 Makefile 中的空格或者缩进,可以使用 .editorconfig
(VS Code 需要安装 EditorConfig for VS Code 插件才能支持 .editorconfig),配置 [Makefile]
来统一
eg:缩进必须使用tab且大小必须为4个空格
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
# Makefile 里面缩进必须使用tab且大小必须为4个空格
[Makefile]
indent_style = tab
indent_size = 4
- Makefile