MinGW 是 Windows 上用的 C/C++ 编译器,装完在命令行敲 gcc 或 g++,就能把 .c、.cpp 源码编成 exe。
现在说的 MinGW,指的都是升级版 MinGW-w64,它是在早年 MinGW 项目的基础上发展来的,支持 32 位、64 位新系统和新的 C++ 标准,本文将 MinGW 和 MinGW-w64 视为同一个东西。
MinGW 只是一个编译器,不是 IDE,没有界面,全程在命令行里用。IDE(集成开发环境)是写代码的软件,例如热门的 Visual Studio、Dev-C++、Code::Blocks 等,它们自带编译器,还提供代码编辑器、调试器、项目管理、自动补全这些工具,装好打开就能写代码,点按钮就能编译运行。
平时写 C/C++,需要在 Windows 上把代码编成 exe,又不想为了编几个文件装臃肿的 IDE,可以选择 MinGW。MinGW 解压就能用,不写注册表,生成的是原生 exe,命令和 Linux 下基本一样,不用了把文件夹删掉就干净。
MinGW 完全免费,支持 Windows 10、Windows 11 的 64 位系统,维护老 32 位项目可以选 32 位包。
MinGW下载
截止到发文,MinGW 最新的运行时版本是 14.0.0,配套的 GCC 编译器已经更新到 16.2.0:MinGW-w64安装包汇总(源自 Github)
| 你的电脑 | 下载这个文件 | 大小 |
| 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安装
我的电脑系统是 Windows 11 x64,选择的是 x86_64-16.2.0-release-posix-seh-ucrt-rt_v14-rev1.7z 压缩包。
将压缩包放到 D 盘,参考下图将其解压,会得到一个名为 Mingw64 的文件夹(路径是 D:\mingw64):
MinGW环境变量配置
电脑桌面上右键“此电脑”,选择“属性”:
找到“高级系统设置”:
弹出的窗口中点击“环境变量”:
在"系统变量"区域找到并双击"Path"(或者选中后点击"编辑"按钮):
在 Path 变量编辑窗口中,点击"新建",然后把 D:\mingw64\bin 路径添加进入(D:\mingw64 是之前压缩包解压的文件夹路径):
依次点击确定,环境变量就配置好了。
验证MinGW安装
验证 MinGW-w64 是否安装成功。按组件键“Win+R”,弹出的对话框里输入 cmd:
然后回弹出命令行窗口,输入 gcc --version 命令,如果如下图所示输出了 gcc 的版本信息,表明 MinGW-w64 安装成功了。
同一个 bin 目录里,g++ 会随环境变量一起生效,再输入 g++ --version 回车,同样能打印出信息就说明 C++ 编译器也可用了:
MinGW基础使用
配好环境变量之后,MinGW-w64 的用法和 Linux 上的 gcc 基本一致。
1)编译并运行C程序
先建一个文件夹放代码,比如 D:\code,在里面新建文本文件,写入下面这段内容,然后把文件名改成 hello.c(注意后缀是 .c,不是 .txt):
int main() { printf("原创自:"); return 0; }
按 Win+R 打开“运行”窗口,输入 cmd 打开命令提示符。依次输入下面三行,第一行用 cd 命令切换到代码所在的目录、第二行编译、第三行运行:
cd /d D:\code gcc demo.c -o demo.exe demo.exe
如果屏幕上输出“原创自:”,说明整个流程通了。
2)编译C++程序
C++ 用 g++ 命令,用法和 gcc 一样。把下面的源码保存成 demo.cpp(还是放在 D:\code 文件夹里):
using namespace std; int main() { cout << "原创自:"; 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新手常见问题
1)装完提示“gcc 不是内部或外部命令”?
Path 没配好或终端没重开。检查 D:\mingw64\bin(改成你自己的)是否在 Path 里,关掉 CMD 重新打开再试。
2)电脑里有多个 MinGW 冲突怎么办?
Path 里只留一个 bin 目录,或者用绝对路径调用 C:\mingw64\bin\gcc.exe,别让系统去猜。
3)选 32 位还是 64 位?
新项目一律 64 位(x86_64)。只有维护 32 位老程序、老 DLL 才选 i686。
4)gcc 和 g++ 有什么区别?
gcc 编 C,g++ 编 C++ 并自动链接 libstdc++。C++ 源码用 gcc 编会报 undefined reference。
5)怎么卸载 MinGW?
删掉 D:\mingw64 文件夹,再把 Path 里的 D:\mingw64\bin 删掉,重启终端就干净了,没有注册表残留。