You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Makefile报错'missing separator. Stop',求助有效解决方案

解决Makefile:1: *** missing separator. Stop 错误

问题

执行Makefile时触发错误:Makefile:1: *** missing separator. Stop,此前搜索Makefile:7: *** missing separator. Stop的相关方案,但对当前第1行报错的情况无效。

我的Makefile内容(通过cat -e -t -v mk.t输出)

Kaizen ~/so_test $ cat -e -t -v mk.t
ASM=nasm

SRC_DIR=src
BUILD_DIR=build

$(BUILD_DIR)/main_floppy.img: $(BUILD_DIR)/main.bin
    cp $(BUILD_DIR)/main.bin $(BUILD_DIR)/main_floppy.img
    truncate -s 1440k $(BUILD_DIR)/main_floppy.img

$(BUILD_DIR)/main.bin: $(SRC_DIR)/main.asm
    $(ASM) $(SRC_DIR)/main.asm -t bin -o $(BUILD_DIR)/main.bin

解决方法

  1. 检查第1行格式:确保ASM=nasm顶格书写,前面没有空格、Tab或不可见特殊字符(比如UTF-8 BOM头)。如果文件是Windows下编辑后传到Linux的,可执行dos2unix Makefile转换格式,或用vim打开后执行:set nobomb再保存以去除BOM头。
  2. 确认命令行缩进:规则下的cp、truncate、$(ASM)行必须用单个Tab键开头,绝对不能用空格替代——这是Makefile的硬性要求。
  3. 核对文件名:如果Makefile文件名为mk.t,执行make时需指定文件名:make -f mk.t;如果是默认的Makefile或makefile,直接执行make即可。

内容的提问来源于stack exchange,提问作者Ori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 23:50:28