Основная ошибка показана в этой строке:
$ make -f makefile.mak "c:/program files/mingw/bin/gcc.exe" -Wall -Wnested-externs -ggdb -O0 -c -
Эта ошибка показывает, что cygwin make
находит путь к компилятору C, т.е. $(CC)
в C:\Program Files\mingw\bin\gcc.exe
. Здесь OP установили Mingw и Cygwin на одной машине. Когда соответствующий установщик устанавливает cygwin и mingw, он добавляет папку /bin
в системную переменную среды %PATH%
. Следовательно, во время компиляции cygwin make
захватывает первый путь gcc.exe
который находится в каталоге mingw, и появляется ошибка.
Чтобы устранить путаницу, переменная среды %PATH%
должна быть правильно настроена. Более подробную информацию о том, как редактировать переменные среды, можно найти в ссылках ниже. Здесь я приведу простую схему. Открыть диалоговое окно Run с Win + R. Введите control.exe
и нажмите Enter. Перейдите в Система и безопасность> Система> Расширенные настройки системы> Переменные среды> Системные переменные> Путь.
Дважды щелкните по переменной "Path". Вы можете увидеть окно "Изменить переменную среды". Удалите два пути C:\cygwin
и C:\Program Files\mingw\bin
с помощью клавиши Удалить .
Теперь создайте два пакетных файла: один cygwin.bat и mingw.bat. Это можно сделать одним файлом, я просто упрощаю. Скопируйте следующие строки в соответствующих пакетных файлах. Команды настроят среду для компиляции.
@echo off
C:
chdir C:\cygwin\bin
C:\cygwin\bin\bash.exe --login -i
@echo off
set PATH=C:\Program Files\mingw\bin;%PATH%
cmd /k
Аналогичные вопросы и ответы: