【问题标题】:nmake.exe keeps complaining about flags I'm not giving it. (U1065)nmake.exe 一直抱怨我没有给它的标志。 (U1065)
【发布时间】:2010-12-30 19:42:12
【问题描述】:

当我从 make 运行 nmake.exe 时,我收到此错误:

Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

NMAKE : fatal error U1065: invalid option '-'

但我不会在任何地方将“-”作为选项传递。

如果我从 make 外部运行相同的命令,它会正常工作。

【问题讨论】:

    标签: windows makefile nmake


    【解决方案1】:

    假设你在一个 windows 提示符命令下,并且你有这样的规则:

     target:
       cd ... && nmake.exe ...
    

    通过

     target:
       cd ... && set MAKEFLAGS= && nmake.exe ...
    

    set FOO:如果存在则显示FOO的值,(如echo %FOO%

    set FOO=:未设置 FOO,(即稍后调用 set FOO 将显示 Environment variable FOO not defined)

    注意:没有unset 命令

    【讨论】:

      【解决方案2】:

      如果您使用windows,只需提前进入环境变量系统设置并删除系统变量“MAKEFLAGS”。它不应该再让 Nmake 感到困惑了。

      【讨论】:

        【解决方案3】:

        问题是环境变量MAKEMAKEFLAGS是由make设置的。这些令人困惑nmake.exe

        要解决此问题,只需在您对 nmake.exe 的调用前加上 env -u MAKE -u MAKEFLAGS

        例子:

         some-make-target:
              env -u MAKE -u MAKEFLAGS nmake.exe /a /l
        

        【讨论】:

        • 这是什么env 命令?它似乎不是标准的 cmd 命令。您是否在 Windows 上为 Make 使用另一个 shell?
        • 它不是 Windows 工具。这是我正在使用的一个 unix 工具。我不确定等效的 Windows 命令是什么。 env -u MAKE -u MAKEFLAGS 仅针对该命令取消设置 MAKEMAKEFLAGS 环境变量。
        猜你喜欢
        • 2011-11-29
        • 2021-04-16
        • 1970-01-01
        • 2018-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-07
        相关资源
        最近更新 更多