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

使用Makefile时遇'e=2:系统找不到指定文件'错误,如何解决?

解决Windows下Makefile执行cp/truncate命令找不到的问题

问题原因

你遇到的CreateProcess(NULL, cp ...) failed错误,是因为Windows原生环境没有cp和truncate这些Linux/Unix系统的命令,Make在执行时找不到对应的可执行文件,所以报错。

解决方案

方案1:改用Windows原生命令替换

直接修改Makefile,把Linux命令换成Windows支持的命令:

ASM=nasm

SRC_DIR=src
BUILD_DIR=build

$(BUILD_DIR)/main_floppy.img: $(BUILD_DIR)/main.bin
    copy $(BUILD_DIR)\main.bin $(BUILD_DIR)\main_floppy.img
    fsutil file seteof $(BUILD_DIR)\main_floppy.img 1474560
# 1440KB = 1440*1024 = 1474560字节,用fsutil设置文件大小

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

注意:Makefile里的命令行必须用Tab键缩进,不能用空格,否则会触发其他错误。

方案2:安装GNU工具集(保留Linux命令写法)

通过Chocolatey安装包含cp、truncate等命令的工具包:

  1. 以管理员身份打开命令提示符(CMD)或PowerShell
  2. 执行命令:
choco install coreutils
  1. 安装完成后,重新打开终端,进入项目目录执行make即可。

另外,如果你已经安装了Git,也可以直接用Git Bash来运行make——Git Bash自带一套完整的Linux命令工具集,直接在Git Bash里进入项目目录执行make就能正常运行原来的Makefile。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:32:43