我在cygwin中安装了所有软件包。我还在我的PATH变量中添加了C:\ cygwin \ bin。但是当我尝试在命令行中编译c ++文件时,我收到错误“访问被拒绝”。相同的命令在cygwin批处理窗口中起作用。
我有64位版本的Windows,并安装了所有必需的cygwin包。
更新:正在制作.exe文件。我可以直接运行它。
答案 0 :(得分:3)
/bin/gcc
是指向gcc-3
或gcc-4
的符号链接。同样适用于g++
。非Cygwin程序通常不能读取Cygwin符号链接,这就是为什么运行gcc在Cygwin bash中工作但不在Windows命令提示符(即cmd.exe)中工作的原因。因此,您需要直接从那里调用gcc-3
或gcc-4
。
(有些误导性的“访问被拒绝”消息是因为Cygwin符号链接由设置了系统属性的文件表示,但是任何人都可以读取它们。)
答案 1 :(得分:1)
这是预期的行为:Cygwin在Windows之上提供类似POSIX的环境,它需要一些设置(Cygwin Bash窗口)。
如果您需要原生Windows GCC,则需要MinGW(-w64)。它们在没有Cygwin的情况下运行,并以Win32 API(msvcrt.dll)为目标。