如何在Windows 7机器上安装gcc?


119

我的Windows 7机器上装有MinGW。我希望为C编译器安装并使用完整的gcc。我发现没有用于此目的的单个预编译的现成安装文件。我检查了以下页面:http : //gcc.gnu.org/install/ 很难,我发现它超出了我的理解水平。请问有人可以提供逐步指导以及链接吗?

Answers:


97

编辑从现在到最近,MinGW-w64已经“吸收”了一个工具链构建项目。可在此处找到下载内容。安装程序应该可以运行,并允许您选择所需的版本。

请注意,Qt SDK带有相同的工具链。因此,如果您在Qt中进行开发并使用SDK,则只需使用其随附的工具链即可。

另一个具有最新工具链的替代方法来自……harhar……Microsoft开发人员,无非就是STL(Stephan T. Lavavej,不是MSVC ++ Standard Library维护者的现名!)。你可以在这里找到它。它包括Boost。

如果您关心预建的依赖,那么另一个非常有用的选择是MSYS2,它提供了Unix shell(经过修改的Cygwin fork可以更好地与Windows路径名等配合使用),还提供了GCC。它通常会滞后一些,但是其良好的软件包管理系统和稳定性可以弥补这一点。如果您喜欢这样的话,它们还提供带有libc ++的功能性Clang。

我将以下内容留作参考,但由于下面详细说明的限制,我强烈建议您不要使用MinGW.org。TDM-GCC(MinGW-w64版本)提供了一些在您的特定情况下可能有用的技巧,尽管我建议始终使用香草GCC以获得最大的兼容性。


Windows的GCC当前由两个项目提供。它们都提供Windows SDK(标头和库)的自己的实现,这是必需的,因为GCC不能与Visual Studio文件一起使用。

  1. 较旧的mingw.org,@ Mat已经指出了您。它们仅提供32位编译器。请参阅此处以获得所需的下载:

    • Binutils是链接器和资源编译器等。
    • GCC是编译器,分为核心和语言包
    • GDB是调试器。
    • 仅mingw.org需要运行时库
    • 您可能需要单独下载mingw32-make。
    • 为了获得支持,您可以尝试(不要期望友好的答复)mingw-users@lists.sourceforge.net

    或者,下载mingw-get并使用它。

  2. 顾名思义,较新的mingw-w64还提供64位变体,并希望将来有一些ARM支持。我使用它,并使用其CRT构建工具链。在此处的 “针对Win32 / 64的工具链”下可以找到个人和自动构建。他们还为Windows交叉编译器提供Linux。我建议您先尝试个人构建,它们会更完整。对于GCC 4.6到4.8,请尝试我的(rubenvb),对于GCC 4.4和4.5,请使用sezero。我们俩都提供32位和64位本机工具链。这些软件包包括上面列出的所有内容。我目前建议使用“ MinGW-Builds”版本,因为这些版本目前被批准为“官方版本”,并且带有安装程序(请参见上文)。

    要获得支持,请发送电子邮件至mingw-w64-public@lists.sourceforge.net或通过sourceforge.net在论坛上发布。

这两个项目的文件都列在sourceforge上,您所要做的就是运行安装程序(对于mingw.org)或下载合适的压缩包并解压缩(对于mingw-w64)。

有很多“非官方”工具链构建者,其中最受欢迎的一种是TDM-GCC。他们可能使用的修补程序破坏了与官方/未修补的工具链的二进制兼容性,因此请小心使用它们。最好使用正式版本。


6
您的答案肯定是完整的,但我还没有全部。您的回答中有很多术语对我来说是陌生的。我的意图是获得gcc c编译器,链接器,头文件和库文件。我已经为GCC 4.6下载了您的个人版本。现在我该怎么办?请容忍我:-)
KawaiKx 2011年

9
@Saurabh:没问题,我试图做到正确的用词。现在,您将软件包解压缩到例如C:` so that C:\ mingw64 \ bin`(或C:\ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute 设置PATH = C:\ mingw64 \ bin;%PATH%`)中,然后就可以调用mingw32 -make,gcc,gdb等),使用它的程序(例如cmake,Qt Creator,代码块)也需要PATH。如果需要更改系统/用户范围的PATH,请转到“控制面板”->“系统” ->高级->环境变量,然后在其中添加或修改PATH
rubenvb 2011年

1
做到了。它运作良好。非常感谢..为什么在Windows机器上安装gcc编译器会有这么麻烦?最初不是针对x86平台的吗?
KawaiKx 2011年

4
最多有4-5个开发人员关注Windows的GCC / binutils。他们做得很好,但将其留给社区来交付他们的工具。在这里不要误解:TDM已经存在了很长时间,并且提供了方便的安装程序,但是由于版权问题,他没有向上游提交补丁。Codeblocks通过IDE提供了MinGW工具链,Qt也是如此。但是它们都不提供64位:)。构建GCC本身需要Unix环境,例如Cygwin / MSYS,甚至更好:Linux。构建过程并不简单。但是,一旦知道要怎么做,安装起来就不会有太多麻烦。
rubenvb 2011年

1
@rubenvb,我注意到Mingw64现在有一个安装程序,可以让您挑选东西。这比个人打造更糟糕的主意吗?
batbrat 2014年

26

下载mingw-get并简单地发布:

mingw-get install gcc.

请参阅入门页面。


2
此安装不安装gcc标准C库。.而是使用msvcr ***。a。为什么这样?是因为gcc标准C库包含用于非x86芯片的目标代码?
KawaiKx 2011年

3
因为Windows上GCC的MinGW端口使用Windows标准C库。如果要使用另一个C库,请查看cygwin(使用newlib)。不知道您在Windows上使用GLIBC会有多大的运气(我也不是很清楚)。
Mat

1
确切地说,“ Windows上的GCC的MinGW端口”是什么意思?对不起,这听起来愚蠢的,但我是新来的这些条款..
KawaiKx

2
这意味着MinGW生产的GCC版本可以在Windows环境中运行并针对Windows环境。
Mat

11
  1. 此处将软件包解压缩到C:\ 并安装

  2. 复制C:\MinGW\bin包含gcc.exe 的路径。

  3. 转到Control Panel->System->Advanced>Environment variables,然后添加或修改PATH。(仅与“;”连接)

  4. 然后,open a cmd.exe command prompt(Windows + R并键入cmd,如果已经打开,请关闭并打开一个新的,以获取路径更改)

  5. 将文件夹更改为您的文件路径 cd D:\c code Path

  6. 类型gcc main.c -o helloworld.o。它将编译代码。对于C++ use g++

7键入./helloworld运行程序。

如果缺少zlib1.dll,请从此处下载


6

遵循Mat的答案(使用Cygwin),以下是一些详细说明:在Windows上安装gcc 您需要的软件包是gcc,gdb和make。Cygwin安装程序允许您在需要时安装其他软件包。


我安装了Cygwin和所需的软件包。我还从Windows命令行验证了可以访问gcc,gdb和make。但是仍然无法安装rails gem并显示相同的错误!有没有人在Windows上成功尝试过Cygwin和Rails?
Vishal Biyani

另外,当我gcc在命令提示符下运行时,我获得的访问被拒绝,不知道为什么
Vishal Biyani 2013年

3
如今,我可能会选择Oracle的VirtualBox(virtualbox.org)或VMWare之类的东西,而不是Cygwin。然后,您可以在同一台计算机上运行两个操作系统。至于Rails,您是否尝试过Rails Installer?railsinstaller.org
michaelok

感谢您的提示@michaelok,一定会尝试的
Vishal Biyani

我也找不到它,所以我将其更新为Cygwin主页。安装程序的棘手之处在于确保您选择了正确的软件包。从有关gcc的说明中可以看出:“默认情况下,setup.exe将仅安装基本类别中的软件包及其依赖项,从而使Cygwin的安装最少。但是,其中将不包括许多常用工具,例如作为gcc(您将在“开发”类别中找到)”
michaelok 2014年

1

我使用msysgit在Windows上安装gcc,它具有一个不错的安装程序,可以安装您可能需要的大多数东西。大多数开发人员将不仅需要编译器,例如shell,shell工具,make,git,svn等。msysgit附带了所有这些。 https://msysgit.github.io/

编辑:我现在正在使用msys2。Msys2使用pacmanArch Linux中的软件包来安装软件包,并包括三个环境,用于构建msys2应用程序,32位本机应用程序和64位本机应用程序。(您可能希望构建32位本机应用程序。)

https://msys2.github.io/

您也可以进行全面安装并安装code :: blocks或编译器随附的其他gui编辑器。我更喜欢使用vim和make。


msysgit仍然对您有用吗?该URL重定向到Windows的Git,我看不到gcc。我在Windows版Git上运气不好,但这可能是另一回事了。还有消息 “ msysGit已被Windows 2.x的Git取代”
Bob Stein

我现在正在使用msys2而不是msysgit。 msys2.github.io 我更新了我的答案。
山姆·沃特金斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.