Get “Access is denied” when trying to compile with

2019-01-23 02:49发布

I have installed all packages in cygwin. I have also added C:\cygwin\bin to my PATH variable. But when I try to compile a c++ file in command line I get the error 'Access is denied'. The same commands work in the cygwin batch window. Does anyone know what's wrong?

Edit: I changed the permissions for gcc and g++. I no longer get the 'Access Denied' error, but get a new one: "This version of C:\cygwin\bin\g++.exe is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.".

enter image description here

enter image description here

标签: c++ gcc g++ cygwin
3条回答
再贱就再见
2楼-- · 2019-01-23 03:01

Because c:\cygwin\bin\gcc.exe isn't an executable file, it's a cygwin symbolic link.

$ 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'

The underlying file runs just fine.

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.
查看更多
混吃等死
3楼-- · 2019-01-23 03:10

I just deleted gcc and g++ and renamed the g++/cc-4.

查看更多
小情绪 Triste *
4楼-- · 2019-01-23 03:14

Unless you're a masochist, always use a Cygwin batch window with Cygwin executables. Also if you're using the Cygwin compiled gcc, you'll need the Cygwin DLL to run the results. The Cygwin website explains why. If you need executables without the Cygwin dll, I'd explore MinGW.

查看更多
登录 后发表回答