Я действительно достиг определенного прогресса в этом. Справочная информация:
У меня установлен WinAVR и его каталоги bin установлены в моем PATH. WinAVR - это GCC и связанные утилиты разработки, но для 8-битного микроконтроллера AVR. Он имеет много общих имен утилит с обычным GCC.
В прошлом я помню, как Cygwin помещал свои каталоги bin в PATH. Похоже, на этот раз он этого не сделал, поэтому я поместил «C: \ cygwin \ bin» в PATH, а затем и «C: \ cygwin \ usr \ bin».
В последней версии Cygwin есть проблемы с обработкой файлов. По сути, gcc.exe - это не исполняемый файл, а тип символической ссылки на фактический исполняемый файл (который может быть gcc-3.exe или gcc-4.exe в зависимости от того, что вы установили). В оболочке BASH эти символические ссылки легко разрешаются, а в cmd.exe - нет. Это означает, что если вы попытаетесь ввести «gcc» в cmd.exe в качестве команды, он ответит «Доступ запрещен». Решением для этого является вызов фактического имени файла GCC (gcc-4) вместо символической ссылки.
Решение, похоже, пришло, переставив мой PATH. Чтобы изменить переменную среды PATH, щелкните правой кнопкой мыши «Мой компьютер» и перейдите к свойствам, затем «Дополнительно», а затем «Переменные среды». В разделе «Системные переменные» найдите «Путь» и дважды щелкните его для редактирования. Удалите все записи, в которых есть C: \ cygwin, затем перейдите к ПЕРЕДНЕМУ ПУТИ и введите их там. Для меня это были C: \ cygwin \ bin и C: \ cygwin \ usr \ bin. Для меня важной частью было убедиться, что записи Cygwin были до записей WinAVR. Я заметил, что когда я пытался вызвать «make» в cmd.exe, он вызывал версию WinAVR вместо версии Cygwin. Это привело меня к изменению моего пути, и после некоторой дурачливости стало ясно, что использование gcc-4 из оболочки cmd.exe работает. Затем он работал в Code :: Blocks, и я был выключен.
В качестве альтернативы, он мог бы просто полностью отделиться от чего-то другого. У компьютеров есть способ сделать это.