为什么将make加入系统PATH后无法调用,直接运行make.exe也报错?
第一个报错(make 不识别)的原因
- 你修改系统PATH后没有重启Anaconda启动的cmd.exe:Windows系统级的环境变量修改不会同步到已经打开的终端窗口,必须关闭所有已打开的cmd/PowerShell/Anaconda Prompt窗口,重新打开才能读取到新的PATH配置,必要时需要重启操作系统生效。
- 你可能错误添加了完整exe路径而非目录到PATH:PATH环境变量仅识别可执行文件所在的文件夹路径,你需要添加的是
C:\Program Files (x86)\GnuWin32\bin目录到PATH,而非C:\Program Files (x86)\GnuWin32\bin\make.exe完整文件路径。 - 注意环境变量的查看语法适配:
$Path是PowerShell的变量调用语法,在cmd.exe中需要执行echo %PATH%才能正确打印当前终端生效的PATH配置,你此前的查看方式可能对应了不同的终端环境,误以为PATH已经在Anaconda的cmd中生效。
第二个报错(mkdir -p 相关报错)的原因
你使用的Makefile是针对Linux/Unix平台编写的,其中mkdir -p build是类Unix系统的命令语法:-p参数的作用是递归创建目录、且目录已存在时不抛出错误。但Windows原生的mkdir命令不支持-p参数,会直接把-p识别为要创建的目录名,才会出现「-p 目录已存在」的报错,最终导致make执行失败。
如果要在Windows下正常运行该Makefile,你可以选择以下任意一种方案:
- 安装MinGW或使用WSL(Windows子系统 for Linux)执行该命令,这两个环境都自带兼容Unix语法的
mkdir实现 - 手动修改Makefile中的
mkdir -p build语句,替换为Windows兼容的if not exist build mkdir build
内容的提问来源于stack exchange,提问作者M Bradsby
相关产品推荐
相关产品推荐

