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

编译Info-Zip Unzip时遇Makefile missing separator错误求助

编译Info-Zip Unzip时Makefile错误的原因及解决方法

错误原因

你使用的这个Makefile是微软NMAKE工具专用的语法,而通过Chocolatey安装的make是GNU Make(GNU版构建工具),两者语法完全不兼容:

  • !IFNDEF、!ENDIF这类是NMAKE的条件判断指令,GNU Make无法识别,因此会抛出「missing separator」错误——即便删除这段代码,其他同类NMAKE语法的行也会触发相同问题。

解决方法

方法一:用微软NMAKE工具编译(推荐,适配Windows环境)

  1. 安装Visual Studio或Build Tools for Visual Studio(仅需安装C++构建工具组件,无需完整IDE);
  2. 打开VS自带的「开发者命令提示符」(或对应架构的「Native Tools Command Prompt」);
  3. 进入Unzip源码目录,执行Windows专属编译命令:
    nmake -f win32/Makefile.w32
    
    Info-Zip的Unzip源码自带win32目录,里面有专门适配Windows环境的Makefile。

方法二:继续使用GNU Make,适配语法或工具链

  1. 先安装mingw工具链(可通过Chocolatey安装mingw包);
  2. 调用源码中适配GNU Make的配置文件,比如unix目录下的版本:
    make -f unix/Makefile
    
  3. 若要修改现有Makefile,需将NMAKE语法替换为GNU Make语法:
    • 将!IFNDEF debug改为ifndef debug
    • 将!ENDIF改为endif
      注意:其他NMAKE特有指令也需对应替换,这种方式容易遗漏,不如直接用现成适配的Makefile高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:24:56