Когда я запускаю nmake.exe
из make
, я получаю такую ошибку:
Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.
NMAKE : fatal error U1065: invalid option '-'
Но я никуда не пропускаю '-' как вариант.
Если я запускаю ту же команду извне, она работает правильно.
3 ответа
Проблема в том, что переменные среды MAKE
и MAKEFLAGS
устанавливаются make
. Это сбивает с толку nmake.exe
.
Чтобы исправить это, просто добавьте к своему звонку на nmake.exe
префикс env -u MAKE -u MAKEFLAGS
.
Примере:
some-make-target:
env -u MAKE -u MAKEFLAGS nmake.exe /a /l
Если вы используете Windows, просто перейдите в раздел «Переменные среды» в предварительной настройке системы и удалите системные переменные «MAKEFLAGS». Это не должно больше смущать Nmake.
Предположим, вы находитесь в командной строке 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
Похожие вопросы
Новые вопросы
windows
Написание программного обеспечения, специфичного для операционной системы Microsoft Windows: API-интерфейсы, поведение и т. Д. ОБЩАЯ ПОДДЕРЖКА WINDOWS НЕВОЗМОЖНА. Вопросы поддержки можно задать на https://superuser.com
env
? Похоже, это не стандартная команда cmd. Вы используете другую оболочку для Make в Windows?env -u MAKE -u MAKEFLAGS
сбрасывает переменные средыMAKE
иMAKEFLAGS
только для этой одной команды.