Я вижу из вашего последнего комментария, что он работает, когда вы запускаете gcc
из оболочки Cygwin bash.
Сообщение Access is denied
появлялось при попытке запустить gcc
из командной строки Windows. Я не знаю, почему вы получили именно это сообщение.
Мой совет - просто использовать оболочку bash. (В нем также есть много приятных функций, которых нет в командной оболочке Windows.) Если это хорошее решение для вас, не стесняйтесь прекратить чтение сейчас.
Но если вы действительно хотите использовать инструменты Cygwin (например, gcc) из командной строки Windows, вам нужно обновить Windows %PATH%
, чтобы включить каталог bin Cygwin. Как видно из bash, каталогом является /usr/bin/
; из Windows это будет что-то вроде C:\cygwin\bin
(при условии, что вы установили Cygwin в C:\cygwin
, что по умолчанию).
Чтобы окончательно добавить C:\cygwin\bin
в Windows %PATH%
, откройте System Properties
на панели управления, нажмите кнопку «Переменные среды» и настройте значение Path
в «Системных переменных». После того, как вы это сделали, у вновь открытых окон cmd должна быть новая настройка %PATH%
. (Пользовательский интерфейс для изменения переменных среды не совсем удобен для использования; может быть, кто-то другой может предложить лучший способ.)
EDIT:
Пакетный файл cygwin.bat
меняет текущий директор на C:\cygwin\bin
, а затем запускает оболочку Cywgwin bash в новом окне. Это дает вам среду, в которой gcc
работает по умолчанию, поскольку ваш $PATH
уже настроен правильно. Командная оболочка windows и оболочка Cygwin bash - это совершенно разные среды.