【问题标题】:"commence before first target. Stop." error“在第一个目标之前开始。停止。”错误
【发布时间】:2011-02-24 03:45:22
【问题描述】:

在 *.mak 文件中,我收到命令“在第一个目标之前开始。停止。” 我之前没改过。

如何解决这个问题?

【问题讨论】:

  • 发布文件内容怎么样?
  • 什么是 *.mak 文件?甚至wotsit.org/list.asp?al=M 都没有提到它。你想做什么?这到底是怎么回事?如果这是关于制造,那么您使用的是它的哪个化身?有很多品牌。
  • 这个问题似乎与c或c++没有任何关系,所以我编辑了标签。不过,我可以说明您正在使用的构建系统。尝试make --version 或查看 make 手册页。

标签: makefile


【解决方案1】:

make(或NMAKE,或任何你正在使用的make)可能对makefile的格式非常挑剔——检查你实际上没有以任何方式编辑文件,例如更改了行尾、空格 制表符等

【讨论】:

  • 由于行后的制表符空格导致构建错误..这有帮助
  • 错误行前一行,我也有一个tab空间
  • 在我的例子中,我在源代码的文件名中有一个等号 (=)。一旦我用破折号 (-) 替换它,makefile 就可以正常工作了。
【解决方案2】:

这意味着有一行以空格、制表符或其他空格开头,前面没有目标。

【讨论】:

    【解决方案3】:

    如果您添加了新行,请确保您在上一行中添加了下一行语法。通常,如果您之前的更改行中缺少“\”,您将收到此错误。

    【讨论】:

      【解决方案4】:

      另外,请确保在上一行的 \ 之后没有空格 否则这是错误

      【讨论】:

        【解决方案5】:

        添加新文件时这是一个简单的错误,您只需确保之前将\ 添加到文件中并且新文件保持原样 例如。

        Check Out what to do if i want to add a new file named customer.cc

        【讨论】:

          【解决方案6】:

          这也可能是由于大括号/括号不匹配造成的。

          $(TARGET}:
              do_something
          

          只要使用括号就可以了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-06-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多