如何在Windows机器上安装Cygwin并使用gcc?

4
我已经为我的NetBeans IDE安装了Cygwin包。我可以在NetBeans项目中使用它。但现在我想从cmd提示符中使用gcc编译器。我该怎么做?
在Linux中,我们打开终端并输入
gcc filename.c 

现在我想使用Cygwin的gcc在Windows中完成同样的操作。我可以在命令提示符中输入gcc filename.c并编译吗?如果可以,该怎么做?

编辑:

通过在命令提示符中编写

gcc --version

我得到了“拒绝访问”的错误。
编辑1: 在C:驱动器中,我有一个名为“Cygwin”的文件夹,其中包含“Cygwin.bat”。
当我运行它时,会打开一个新的提示符,在其中输入“gcc filename.c”时,它可以正常工作。
在那个.bat文件中:
@echo off

C:
chdir C:\cygwin\bin

bash --login -i

我不理解那是什么意思。


请检查是否已经安装了gcc编译器。可以输入命令gcc --version来进行确认。 - David Heffernan
1
你是想从Windows命令提示符还是Cygwin bash shell中运行它? - Keith Thompson
说句实话,你可能会发现mingw是一个更自然的gcc端口。 - David Heffernan
@DavidHeffernan 嘿,gcc --version 也显示访问被拒绝。 - Jeegar Patel
@KeithThompson 嘿,当我尝试在cmd中运行时,它显示访问被拒绝,但是cygwin bash bin可以正常工作...! - Jeegar Patel
4个回答

5
我看到你在最新的评论中表示,在Cygwin bash shell下运行gcc是可行的。
当你尝试从Windows cmd提示符下运行gcc时,会出现“拒绝访问”的消息。我不知道为什么会出现这个特定的消息。
我的建议是只使用bash shell。(它还具有Windows命令shell缺少的许多很好的功能)。如果这对你来说是一个好的解决方案,请随时停止阅读。
但如果你真的想要从Windows提示符中使用Cygwin工具(如gcc),你需要更新Windows的%PATH%以包括Cygwin bin目录。从bash中看,该目录是/usr/bin/;从Windows中,它将类似于C:\cygwin\bin(假设你安装了Cygwin到默认路径C:\cygwin)。
要永久添加C:\cygwin\bin到Windows的%PATH%中,请在控制面板中打开“系统属性”,点击“环境变量”按钮,并调整“系统变量”中的Path的值。完成后,新开的cmd窗口应该具有新的%PATH%设置。(修改环境变量的用户界面并不是非常用户友好;也许其他人可以提供更好的方法。)
编辑: cygwin.bat批处理文件将当前目录更改为C:\cygwin\bin,然后在新窗口中启动Cywgwin bash shell。这会给你一个环境,其中gcc默认工作,因为你的$PATH已经正确设置。Windows命令shell和Cygwin bash shell是非常不同的环境。

我所知道的最好的修改环境变量的工具是Rapid Environment Editor。一个提示是将兼容性选项设置为“以管理员身份运行”以避免每次运行时都需要右键单击。 - David Heffernan
我已经按照你的建议设置了路径变量,但是在命令提示符中gcc无法工作。不过我采用了bash的解决方案。只需在命令提示符中键入bash,gcc就可以正常工作了,我很满意这个方法! - Jeegar Patel

1
如果您已经安装了Cygwin的gcc软件包,那么您只需要简单地运行gcc filename.c即可。
Cygwin的setup.exe文件允许您在安装时选择任何要添加的附加软件包。如果您跳过了这一步骤,只需重新运行setup.exe即可。
您也可以在Cygwin网站上找到其他软件包。

编写 gcc filename.c 命令时提示“拒绝访问”。 - Jeegar Patel
你正在哪个目录下工作?你是否有写入权限? - David Heffernan

1

你的命令提示符识别gcc作为一个安装的应用程序吗?如果是,尝试这个:

gcc -c filename.c -o filename.o

0

gcc 实际上是一个链接(命令提示符不理解)。如果需要使用命令提示符,请使用 gcc-3 或 gcc-4。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接