本文将介绍 GNU、GCC、MinGW 等相关概念,并着重介绍 Windows 中 MinGW-w64 的下载、安装与配置。MinGW-w64 的安装方式有两种:安装程序安装、压缩包安装,压缩包既可在 SourceForge 上下载,也可在 GitHub 上下载。本文介绍 GitHub 下载。

前导概念

GNU

GNU 是一个自由的操作系统,全称为 GNU’s Not Unix!,起源于 GNU 计划。GNU 计划由理查德·马修·斯托曼(Richard Matthew Stallman)发起,旨在发展出一套完整的开放源代码操作系统来取代 Unix。

GPL

GNU General Public License,GNU 通用公共许可协议,缩写为 GNU GPL 或者 GPL。GPL 基于用户充分的自由,允许用户运行、修改、分发软件,但遵循 GPL 的软件的派生作品也必须遵循 GPL。

GCC

GNU Compiler Collection,GNU 编译器套装,是“GNU 计划” 制作的一种优化编译器,支持将 C、C++、Go 等多种语言编译为机器语言。

MinGW

Minimalist GNU for Windows,缩写 MinGW,又称 MinGW32,是 GCC 及 GNU Binutils(一套编程工具)在 Win32 平台上的移植,用于生成 32 位 Windows 可执行文件。

MinGW-w64 用以解决 MinGW 项目更新缓慢、缺少新的重要 API 等问题,并提供 64 位支持,可用于生成 32 或 64 位 Windows 可执行程序。

所以,在 Windows 上安装 GCC 可通过在 Windows 上安装 MinGW 实现。

下载、安装与配置

进入 mingw-builds-binaries,安装方式有两种,一是通过安装程序在线安装,二是下载压缩包解压安装。

image-20241220111509148

图1 mingw-builds-binaries

安装程序安装

点击 online installer 即可。安装设置各部分含义可参考 ⌈压缩包安装⌋ 中的相关介绍。

压缩包安装

点击 Releases,根据版本、系统架构等信息选择合适的压缩包进行下载。

压缩包命名中各部分含义如下。

Version:GCC 版本,若无特殊要求,选择最新版本即可。

Architechture:架构,64系统 位选择 x86_64,32 位系统选择 i686。

Threads:接口,Windows 选择 win32,Linux、Mac OS 等其他操作系统选择 posix。

Exception:异常机制

  • SJLJ:支持 32/64 位系统。
  • DRARF:仅支持 32 位系统,性能优于 SJLJ。
  • SEH:仅支持 64 位系统,性能优于 SJLJ。

GitHub 上较新版的压缩包的命名又分为 msvcrt 和 ucrt。MSVCRT(Microsoft Visual C++ Runtime)和 UCRT(Universal C Runtime)是 Microsoft Windows 上的两种 C 运行时库。MSVCRT 在所有 Windows 版本上均可用,从 Windows 10 起,支持 UCRT。若支持 UCRT 则建议选择 UCRT。

image-20241220132458948

图2 Release of 14.2.0-rt_v12-rev0

将压缩包解压到合适的目录。

配置

配置环境变量,在系统变量 Path 中新增项,值为 bin 目录的路径。

验证

在 ⌈命令提示符⌋ 中执行 gcc -v,若显示版本,则说明安装配置成功。

END

参考资料:https://www.cnblogs.com/zijie1024/articles/18376803