Получите «Отказано в доступе» при попытке компиляции с g ++ из командной строки.Cygwin - PullRequest
23 голосов
/ 17 февраля 2011

Я установил все пакеты в Cygwin.Я также добавил C: \ cygwin \ bin в переменную PATH.Но когда я пытаюсь скомпилировать файл c ++ в командной строке, я получаю сообщение об ошибке «Доступ запрещен».Те же самые команды работают в пакетном окне cygwin.Кто-нибудь знает, что не так?

Редактировать: Я изменил разрешения для gcc и g ++.Я больше не получаю сообщение об ошибке «Отказано в доступе», но получаю новую: «Эта версия C: \ cygwin \ bin \ g ++. Exe не совместима с версией Windows, с которой вы работаете.узнайте, нужна ли вам версия программы x86 (32-разрядная) или x64 (64-разрядная), а затем обратитесь к издателю программного обеспечения. ".

enter image description here

enter image description here

Ответы [ 3 ]

28 голосов
/ 17 февраля 2011

Поскольку c:\cygwin\bin\gcc.exe не является исполняемым файлом, это символьная ссылка cygwin.

$ file /bin/gcc
/bin/gcc: symbolic link to `/etc/alternatives/gcc'
$ file /etc/alternatives/gcc
/etc/alternatives/gcc: symbolic link to `/usr/bin/gcc-4.exe'

Основной файл работает нормально.

C:\cygwin\home\Ben>gcc-4 --version
gcc-4 (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4 голосов
/ 10 сентября 2012

Я просто удалил gcc и g ++ и переименовал в g ++ / cc-4.

3 голосов
/ 17 февраля 2011

Если вы не мазохист, всегда используйте пакетное окно Cygwin с исполняемыми файлами Cygwin.Также, если вы используете gcc, скомпилированный Cygwin, вам понадобится Cygwin DLL для запуска результатов. Сайт Cygwin объясняет почему.Если вам нужны исполняемые файлы без библиотеки Cygwin, я бы изучил MinGW .

...