【问题标题】:Makefile: missing separator (did you mean TAB instead of 8 spaces?)Makefile:缺少分隔符(您的意思是 TAB 而不是 8 个空格?)
【发布时间】:2015-07-02 20:54:03
【问题描述】:

我生成的 makefile 没有执行,而是抛出以下错误: vbsp_linux32.mak:34: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.

我已经阅读了大约 30 页,所有这些都得出了相同的结论(命令前面的空格),我无法在这个 makefile 中找到/解决:

http://pastebin.com/2cYd8Jhj

操作系统:Debian Jessie

制作版本:4.0

【问题讨论】:

  • 向我们展示 vbsp_linux32.mk 文件。我有点困惑,pastebin.com/2cYd8Jhj 只是 vbsp_linux32.mk 文件吗?
  • @SagarSakre pastebin上的文件只有vbsp_linux32.mak文件。

标签: linux makefile debian


【解决方案1】:

34 行 是一个命令。

call ..\..\vpc_scripts\valve_p4_edit.cmd ..\..\..\game\bin\$(TargetFileName) ..\..

根据GNU make manual(可以翻一页):

Makefile 包含五种内容:显式规则、隐式规则、变量定义、指令和 cmets。规则、变量和指令将在后面的章节中详细介绍。

换句话说,您可以在 Makefile 中包含命令,但(最常见的情况)在规则中。

然而,这只是 Makefile 包含的众多错误之一。看着它,我发现它是从 Windows 翻译过来的:

  • 反斜杠作为路径分隔符
  • 复制

    copy "$(TargetDir)"$(TargetFileName) ..\..\..\game\bin\$(TargetFileName)
    
  • 打电话

    call ..\..\vpc_scripts\valve_p4_edit.cmd ..\..\..\game\bin\$(TargetFileName) ..\..
    
  • 错误级别

    if ERRORLEVEL 1 goto BuildEventFailed
    
  • 及其他

所以在它可以在 Linux 上运行之前,还有一些工作要做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2021-04-15
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多