我在cygwin中安装了所有软件包。我还在我的PATH变量中添加了C:\ cygwin \ bin。但是当我尝试在命令行中编译c ++文件时,我收到错误“访问被拒绝”。相同的命令在cygwin批处理窗口中有效。有谁知道什么是错的?
编辑:我更改了gcc和g ++的权限。我不再收到“拒绝访问”错误,但得到一个新错误:“此版本的C:\ cygwin \ bin \ g ++。exe与您正在运行的Windows版本不兼容。请检查您计算机的系统信息看看你是否需要x86(32位)或x64(64位)版本的程序,然后联系软件发行商。“。
答案 0 :(得分:28)
因为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.
答案 1 :(得分:4)
我刚刚删除了gcc和g ++并重命名了g ++ / cc-4。
答案 2 :(得分:3)
除非您是受虐狂,否则请始终使用带Cygwin可执行文件的Cygwin批处理窗口。此外,如果您使用Cygwin编译的gcc,您将需要Cygwin DLL来运行结果。 Cygwin website解释了原因。如果你需要没有Cygwin dll的可执行文件,我会探索MinGW。
答案 3 :(得分:1)
我遇到了同样的问题,这是因为在安装Cygwin之后我有待重新启动。重新启动后对我有用。