Изменить разрешения для gcc и g ++ в Windows - PullRequest
1 голос
/ 22 августа 2011

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

У меня 64-разрядная версия Windows, и я установил все необходимые пакеты cygwin.

Обновление: создается файл .exe,Я могу запустить его напрямую.

Ответы [ 2 ]

3 голосов
/ 22 августа 2011

/bin/gcc в Cygwin является символической ссылкой на gcc-3 или gcc-4. Аналогично для g++. Программы, отличные от Cygwin, обычно не могут читать символические ссылки Cygwin, поэтому запуск gcc работает в Cygwin Bash, но не в командной строке Windows (например, cmd.exe). Следовательно, вам нужно вызвать gcc-3 или gcc-4 непосредственно оттуда.

(Несколько вводящее в заблуждение сообщение «Доступ запрещен» возникает из-за того, что символические ссылки Cygwin представлены файлами с установленным системным атрибутом, но, тем не менее, они доступны для чтения любому.)

1 голос
/ 22 августа 2011

Это ожидаемое поведение: Cygwin предоставляет POSIX-подобную среду поверх Windows, ему требуется некоторая настройка (окно Cygwin Bash).

Если вам нужен собственный Windows GCC, вам нужно MinGW (-w64) . Они работают без Cygwin и предназначены для Win32 API (msvcrt.dll).

...