尝试使用命令行中的g ++进行编译时,获取“访问被拒绝”。 Cygwin的

时间:2011-02-17 19:15:06

标签: c++ gcc g++ cygwin

我在cygwin中安装了所有软件包。我还在我的PATH变量中添加了C:\ cygwin \ bin。但是当我尝试在命令行中编译c ++文件时,我收到错误“访问被拒绝”。相同的命令在cygwin批处理窗口中有效。有谁知道什么是错的?

编辑:我更改了gcc和g ++的权限。我不再收到“拒绝访问”错误,但得到一个新错误:“此版本的C:\ cygwin \ bin \ g ++。exe与您正在运行的Windows版本不兼容。请检查您计算机的系统信息看看你是否需要x86(32位)或x64(64位)版本的程序,然后联系软件发行商。“。

enter image description here

enter image description here

4 个答案:

答案 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之后我有待重新启动。重新启动后对我有用。