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

Posted

技术标签:

【中文标题】如何在 Windows 7 机器上安装 gcc?【英文标题】:how to install gcc on windows 7 machine? 【发布时间】:2011-09-17 16:40:58 【问题描述】:

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

【问题讨论】:

【参考方案1】:

编辑 从最近开始,MinGW-w64 已经“吸收”了其中一个工具链构建项目。可以在here 找到下载。安装程序应该可以工作,并允许您选择所需的版本。

请注意,Qt SDK 带有相同的工具链。所以如果你是在 Qt 中开发并使用 SDK,只需使用它附带的工具链即可。

另一个具有最新工具链的替代方案来自... harhar... 一位 Microsoft 开发人员,正是 STL(Stephan T. Lavavej,这不是 MSVC++ 标准库维护者的名字吗? !)。你可以找到它here。它包括 Boost。

如果您关心预构建的依赖项,另一个非常有用的选项是MSYS2,它提供了一个 Unix shell(一个 Cygwin fork 修改为更好地与 Windows 路径名等一起工作),还提供了一个 GCC。它通常有点落后,但这可以通过其良好的包管理系统和稳定性来弥补。如果您喜欢这样的东西,它们还提供带有 libc++ 的功能 Clang。

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


GCC for Windows 目前由两个项目提供。它们都提供了非常自己的 Windows SDK(头文件和库)实现,这是必要的,因为 GCC 不适用于 Visual Studio 文件。

    较旧的 mingw.org,@Mat 已经向您指出。它们仅提供 32 位编译器。 See here 供您下载:

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

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

    较新的 mingw-w64,顾名思义,也提供 64 位变体,未来有望支持 ARM。我使用它并用他们的 CRT 构建工具链。个人和自动构建位于“针对 Win32/64 的工具链”here 下。他们还为 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。他们可能会使用破坏与官方/未打补丁的工具链二进制兼容性的补丁,因此请小心使用它们。最好使用官方版本。

【讨论】:

您的答案看起来确实很完整,但我并没有完全理解。你的回答中有很多术语对我来说是新的。我的目的是获取 gcc c 编译器、链接器、头文件和库文件。我已经下载了你的 GCC 4.6 个人版本。现在我该怎么办?请容忍我:-) @Saurabh:没问题,我试图在措辞上保持正确。您现在解压缩包,例如 C:` so that C:\mingw64\bin`(或 C:\mingw32\bin) contains gcc.exe. Then, open a cmd.exe command prompt, and execute set PATH=C:\mingw64\bin;%PATH%` . 然后你将能够从该命令行调用 mingw32-make、gcc、gdb 等。使用它的程序(如 cmake、Qt Creator、Codeblocks)也需要它在 PATH 中。如果你需要系统/用户范围的 PATH更改,进入控制面板->系统->高级->环境变量,并在那里添加或修改PATH。 做到了。它运作良好。非常感谢.. 为什么在 windows 机器上安装 gcc 编译器这么麻烦?最初不是为 x86 平台设计的吗? 最多有 4-5 位开发人员关注 GCC/binutils for Windows。他们做得很好,但把它留给社区来交付他们的工具。这里不要理解错:TDM 已经存在了很长时间,并且提供了一个方便的安装程序,但由于版权问题,他没有向上游提交补丁。 Codeblocks 提供了一个带有 IDE 的 MinGW 工具链,Qt 也是如此。但它们都没有提供 64 位 :)。构建 GCC 本身需要一个 Unix 环境,例如 Cygwin/MSYS,甚至更好:Linux。构建过程并不简单。但是一旦你知道该怎么做,安装起来并不麻烦。 @rubenvb,我注意到 Mingw64 现在有一个安装程序,可以让你挑选东西。这比获得个人构建更糟糕吗?【参考方案2】:

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

mingw-get install gcc.

查看Getting Started 页面。

【讨论】:

此安装不安装 gcc 标准 C 库.. 而是使用 msvcr***.a。为什么这样?是因为 gcc 标准 C 库包含用于非 x86 芯片的目标代码吗? 因为windows上GCC的MinGW端口使用的是windows标准C库。如果您想使用另一个 C 库,请查看 cygwin(使用 newlib)。不确定在 Windows 上获得 GLIBC 是否会很幸运(我也不太明白这一点)。 “Windows 上 GCC 的 MinGW 端口”到底是什么意思?抱歉,这听起来可能很愚蠢,但我对这些术语不熟悉.. 表示由 MinGW 生产的 GCC 版本,用于在 windows 环境上运行和定位。【参考方案3】:

    将包从here解压到C:\并安装

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

    转到Control Panel->System->Advanced>Environment variables,并添加或修改路径。 (只需与 ';' 连接)

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

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

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

7 输入./helloworld 运行程序。

如果zlib1.dll缺失,请从here下载

【讨论】:

【参考方案4】:

跟进 Mat 的回答(使用 Cygwin),这里有一些详细说明:installing gcc on Windows 您想要的包是 gcc、gdb 和 make。 Cygwin 安装程序可让您在需要时安装其他软件包。

【讨论】:

我安装了 Cygwin 和所需的软件包。我还从 Windows 命令行验证了 gcc、gdb 和 make 是可以访问的。但是仍然安装 rails gem 失败并出现同样的错误!有人在 Windows 上成功尝试过 Cygwin 和 Rails 吗? 另外,当我在命令提示符下运行gcc 时,访问被拒绝,不知道为什么 现在,我可能会选择 Oracle 的 VirtualBox (virtualbox.org) 或 VMWare,而不是 Cygwin。然后,您可以在同一台机器上运行两个操作系统。至于 Rails,你试过 Rails Installer 吗? railsinstaller.org 感谢@michaelok 的提示,一定会尝试的 我也找不到它,所以我将它更新到 Cygwin 主页面。安装程序的棘手之处在于确保您选择了正确的软件包。从有关 gcc 的说明中可以看出:“默认情况下,setup.exe 将仅安装 Base 类别中的软件包及其依赖项,从而实现最小的 Cygwin 安装。但是,这不包括许多常用工具,例如作为 gcc(您可以在 Devel 类别中找到)"【参考方案5】:

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

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

https://msys2.github.io/

您也可以全速安装code::blocks 或其他一些带有编译器的 gui 编辑器。我更喜欢用 vim 和 make。

【讨论】:

msysgit 还为你工作吗?该 URL 重定向到Git for Windows,我没有看到提到 gcc。我在使用 Git for Windows 时运气不佳,但这可能是另一回事。还有message“msysGit 已被 Git for Windows 2.x 取代” 我现在使用的是 msys2 而不是 msysgit。 msys2.github.io我更新了我的答案。

以上是关于如何在 Windows 7 机器上安装 gcc?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上使用 arm-none-eabi-gcc 编译某些东西

在 64 位 Windows 7 机器上使用 GCC 作为 MATLAB 2014a 的默认 MEX 编译器

如何为 MinGW 用户安装 gcc-arm-none-eabi?

如何在 Windows 上的 MinGW 中更新 GCC?

如何在 Windows 7 64 位机器上为 anaconda 的 python 3.5 安装 cvxopt?

Windows 7 上的 Tiny C 编译器 [重复]