MinGW-w64的下载和安装

时间:2025-01-29 17:37:07

MinGW 是将GCC 移植到了 Windows 平台下的编译器,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。MinGW又分为MinGW-w64 与 MinGW ,区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。MinGW 现已被 MinGW-w64 所取代,且 MinGW 也已停止了更新。

下载MinGW-w64

官方 /downloads/
下载地址:/projects/mingw-w64/files/
选择 x86_64-win32-seh 下载。

MinGW-w64的官网发布的Release二进制版本的发布已经停留在v8.1.0很久了,然而MinGW-w64的社区其实是一直很活跃的,已经更新到了v10.0.0,其中GCC的版本也是最新的12.2.0,只是自v8.1.0之后就只有源码发布,没有现成的二进制或一键安装了。原因是似乎社区的重心已经转移到了MSYS2上,暂时抽不出精力去维护安装包,因此只有在MSYS2里才能享受到MinGW-w64最新版的一键安装。

经试验,也是开箱即用的,配置好Path后在VSCode中按F5就一键编译了。

那么虽然官网下载不到现成的二进制了,但是在GitHub却有自动打包的二进制版本发布,

MinGW-w64下载地址1: /niXman/mingw-builds-binaries/releases

这里可以自行选择线程模型WIN32或posix,以及异常处理方式seh,sjlj和dwarf,这里建议使用posix与seh。 posix与*nix下的线程模型使用相同接口;seh效率更高,不过只在64位可用。

我选择的是 x86_64-13.2.0-release-posix-seh-ucrt-rt_v11-rev0.7z

MSVCRT与UCRT --这是微软Windows上C标准库的两个变体。

MSVCRT (Microsoft Visual C++ Runtime)默认可用于所有Microsoft版本,但由于向后兼容性问题,过去一直存在兼容性问题,无法兼容C99,因此缺少一些功能。

UCRT (Universal )是Microsoft默认使用的较新版本。它应该工作并表现为代码是用MSVC编译的。与MSVC的兼容性更好,无论是在构建时还是在运行时。只能在默认情况下在Windows 10上发布,对于较早的版本,您必须自己提供或依赖安装了它的用户。

MinGW-w64下载地址2:

应评论区大佬建议,我下载后发现这个版本的包含目录更清晰一些。这里只有一种posix+seh的版本,而且可以选择要不要llvm环境(即clang编译器环境)。

安装MinGW-w64

解压后得到 mingw64 文件夹,你可以打开bin目录看下,里面有很多后缀名是.exe 的可执行程序,这些就是开发时所需的工具,如: 是C语言程序的编译器,g++.exe 是C++语言的编译器, 是用来调试程序的 debug 工具。

我把mingw64 这个文件夹直接复制到C盘根目录下。

然后,为了让程序能访问到这些编译程序,需要把它们所在的目录(我这里是C:\mingw64\bin)添加到环境变量Path中。

打开windows开始菜单,输入 环境变量,找到 编辑系统环境变量,跳出来的系统属性中,点击环境变量。找到Path,点击编辑,新建,把路径复制过去,我这里是C:\mingw64\bin

验证是否成功,在cmd命令框输入 gcc --version,成功则返回gcc版本号。

补充

MinGW-w64 最新版本,支持C++20
官网 /downloads/
github直达 /niXman/mingw-builds-binaries/releases)

参考资料:

  • Windows下的C++开发环境MingW-w64下载与配置方式
  • 新手VSCode配置C++20