Windows 10 make tool из MinGW возвращает ошибку 2 (e = 2) - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь заставить утилиту make работать на Windows через MinGW, но постоянно получаю сообщение об ошибке 2, пытаясь заставить утилиту make выполнить задачу, которая не является командой MinGW.

test: test.cpp
    g++ -o test test.cpp

clean:
    rm ./*.exe

компиляция работает нормально, но когда я пытаюсь запустить чистый, я получаю сообщение об ошибке.

PS D:\Programs\C++\Test> make clean
rm ./*.exe
process_begin: CreateProcess(NULL, rm ./*.exe, ...) failed.
make (e=2): Impossibile trovare il file specificato.
makefile:5: recipe for target 'clean' failed
make: *** [clean] Error 2

, но ввод rm ./.exe непосредственно в Windows PowerShell работает просто отлично.все примеры, которые я мог найти в Интернете, касались людей, вызывающих программы, которые не были связаны в Windows PATH, но здесь это не проблема, так как make связан с PATH, а rm ./.exe работает на powershell.есть идеи?заранее спасибо.

1 Ответ

0 голосов
/ 27 февраля 2019

Команды, которые вы используете в Powershell, недоступны таким образом.Доступные из командной строки cmd (cmd.exe).Команда, удаляющая файлы в приглашении cmd: erase.

Все из-за того, что программы запускаются так, как если бы они запускались в cmd.

Для получения дополнительных команд вы должны запустить help в командной строке cmd.

Также rm это просто псевдоним для наследия erase.

...