如今大家常说的 MinGW,一般指的是 MinGW-w64,它是在早年 MinGW 项目的基础上发展来的,本文将 MinGW 和 MinGW-w64 视为同一个东西。
MinGW-w64(后续简称 MinGW)是 Windows 上的一套 GCC 编译工具链,装上它,就能在 Windows 里用 Linux 上那套熟悉的 gcc、g++ 命令来编译 C 和 C++ 程序。名字里的“64”不代表只能在 64 位环境里用,32 位和 64 位它都支持。
MinGW 是开源免费软件,个人学习、教学、商用都不收。它不占系统资源,解压出来配一下环境变量就能用,配合 VS Code、Code::Blocks 这些编辑器对新手更友好。
MinGW下载
GitHub 下载地址:https://github.com/niXman/mingw-builds-binaries/releases
国内用户可能存在无法访问、下载速度慢的问题,这里为大家提供了第二种下载方式:MinGW-w64安装包汇总(源自 Github)
截止到发文,MinGW 最新的运行时版本是 14.0.0,配套的 GCC 编译器已经更新到 16.2.0。官网结合不同的使用场景发布了多个安装包文件,它们是同一套编译器(GCC 16.2.0 + MinGW-w64 14.0.0),区别只在适配的系统。
| 你的电脑 | 下载这个文件 | 大小 |
| Windows 11 / 10,64 位 | x86_64-16.2.0-release-posix-seh-ucrt-rt_v14-rev1.7z | 约 103 MB |
| Windows 11 / 10,32 位 | i686-16.2.0-release-posix-dwarf-ucrt-rt_v14-rev1.7z | 约 104 MB |
| Windows 8 / 7,64 位 | x86_64-16.2.0-release-posix-seh-msvcrt-rt_v14-rev1.7z | 约 103 MB |
| Windows 8 / 7,32 位 | i686-16.2.0-release-posix-dwarf-msvcrt-rt_v14-rev1.7z | 约 104 MB |
MinGW安装(含配置环境变量)
1)解压 MinGW
我的电脑系统是 Windows 11 x64,选择的是 x86_64-16.2.0-release-posix-seh-ucrt-rt_v14-rev1.7z 压缩包。
将压缩包放到 D 盘,参考下图将其解压,会得到一个名为 Mingw64 的文件夹(路径是 D:\mingw64):
2)配置MinGW环境变量
配置环境变量。电脑桌面上右键“此电脑”,选择“属性”:
找到“高级系统设置”:
弹出的窗口中点击“环境变量”:
在"系统变量"区域找到并双击"Path"(或者选中后点击"编辑"按钮):
在 Path 变量编辑窗口中,点击"新建",然后把 D:\mingw64\bin 路径添加进入(D:\mingw64 是之前压缩包解压的文件夹路径):
依次点击确定,环境变量就配置好了。
接下来验证 MinGW-w64 是否安装成功。按组件键“Win+R”,弹出的对话框里输入 cmd:
然后回弹出命令行窗口,输入 gcc --version 命令,如果如下图所示输出了 gcc 的版本信息,表明 MinGW-w64 安装成功了。
同一个 bin 目录里,g++ 会随环境变量一起生效,再输入 g++ --version 回车,同样能打印出信息就说明 C++ 编译器也可用了:
MinGW运行C/C++程序
配好环境变量之后,MinGW-w64 的用法和 Linux 上的 gcc 基本一致。
1)编译并运行C程序
先建一个文件夹放代码,比如 D:\code,在里面新建文本文件,写入下面这段内容,然后把文件名改成 hello.c(注意后缀是 .c,不是 .txt):
int main() { printf("hello world!"); return 0; }
按 Win+R 打开“运行”窗口,输入 cmd 打开命令提示符。依次输入下面三行,第一行用 cd 命令切换到代码所在的目录、第二行编译、第三行运行:
cd /d D:\code gcc demo.c -o demo.exe demo.exe
如果屏幕上输出“hello world”,说明整个流程通了。
2)编译C++程序
C++ 用 g++ 命令,用法和 gcc 一样。把下面的源码保存成 demo.cpp(还是放在 D:\code 文件夹里):
using namespace std; int main() { cout << "hello world"; return 0; }
然后在 cmd 命令行窗口依次执行:
cd /d D:\code g++ demo.cpp -o demo.exe demo.exe
Mingw配合VS Code使用
编辑器用 VS Code,编译器用 MinGW-w64,是目前最主流的搭配方式。VS Code 本身只是编辑器,不带编译器,把它和 MinGW-w64 配在一起,就得到一个界面舒服、还能一键编译运行的写代码环境。
1)打开 VS Code,点击左侧边栏的扩展图标(也可以按 Ctrl+Shift+X),在搜索框里输入 C/C++,找到 Microsoft 发布的那个 C/C++ 扩展,点击 Install 安装。这个扩展提供语法高亮、代码补全和运行调试的支持:
2)按 Ctrl+, 打开设置,在搜索框里输入 compiler path,找到 C/C++ 扩展的 Compiler Path 一项,点击“Edit in settings.json”:
填上 MinGW-w64 里 gcc.exe 的完整路径,例如 D:\mingw64\bin\gcc.exe。填好之后保存(Save),VS Code 就知道该用哪个编译器了。
用 VS Code 打开上文里的 demo.cpp 文件,点击 VS Code 右上角的运行按钮(一个三角形图标)。第一次运行时,界面顶部会弹出一个列表让你选编译器,选带 g++ 字样的那一项,运行结果直接显示在下方的终端里:
MinGW和其它编程软件的区别
写 C/C++ 常用的还有 Visual Studio、Dev-C++、Code::Blocks 这些集成开发环境(IDE),它们把编辑器、编译器、调试器打包在一起,装完开箱即用;MinGW 是把“编译器”这一环单独拆出来的工具,本身不带图形界面。
| 工具 | 类型 | 特点 | 适合谁 |
| MinGW-w64 | 编译器工具链(命令行) | 只含编译器,体积小、解压即用,命令和 Linux 上一致 | 想自由搭配编辑器、习惯命令行的人 |
| Visual Studio | 集成开发环境 | 微软官方出品,功能全、体积大,用的是 MSVC 编译器 | 做 Windows 大型项目、同时也写 C# 的开发者 |
| Dev-C++ | 轻量集成开发环境 | 体积小、界面简单,自带编译器 | 刚入门的学生、只写小程序的人 |
| Code::Blocks | 轻量集成开发环境 | 自带 MinGW 做编译器,能一键编译运行 | 不想碰命令行、又想用 MinGW 的初学者 |
| VS Code | 代码编辑器(不是 IDE) | 本身不带编译器,装 C/C++ 扩展后配合 MinGW 使用 | 想要轻量、可自定义环境的开发者 |
选择建议:想开箱即用,直接装一套带编译器的 IDE 就行;想让编辑器自由一些(比如在 VS Code、CLion 里写),或者习惯在命令行里敲 gcc,那就选 MinGW。
MinGW常见问题和解答
1)看清楚你的电脑是 32 位还是 64 位版本,选择适配自己电脑的 MinGW 安装包。64 位系统里跑 32 位版编译器是能用的,但只能编出 32 位程序;反过来,32 位系统上无法运行 64 位版本。判断方法很简单,在“此电脑”上右键选属性看系统类型。
2)编译出来的 exe 拿到别的电脑打不开,多半是运行库版本的问题。用 UCRT 版本(安装包名称里有标注)编译的程序,在 Windows 10 及以后的系统上都能直接运行;目标电脑是更老的系统时,建议改用 MSVCRT 版本重新编译。
3)命令行里中文显示乱码是编码问题。Windows 命令行默认用 GBK 编码,源代码文件如果保存成 UTF-8,打印中文时可能乱码。遇到此类问题,可以将源代码文件用 txt 文本打开,然后在“另存为”窗口里将编码格式改成对应的。
4)MinGW 是绿色软件,卸载就是删掉整个文件夹、再把 Path 里那行路径删掉,不会给系统留残留。
总结
MinGW-w64(MinGW 的后继版本)让我们在 Windows 上也能写 gcc、g++ 命令,它的安装和使用门槛都很低,解压加配置环境变量十分钟就能搞定,适合刚开始学 C/C++ 的学生、用不惯 Visual Studio 那一整套环境的开发者,以及需要在 Windows 上编译跨平台项目的程序员。