根本原因是gcc.exe未加入系统PATH,导致Windows无法定位。需确认解压路径无空格中文,将bin目录(如C:\mingw64\bin)准确添加至PATH,重启终端后用where gcc和gcc -v验证,同时确保安装了gcc组件而非仅runtime。

根本原因只有一个:gcc.exe 不在系统 PATH 里,Windows 根本找不到它。不是编译器坏了,也不是你写错了命令,就是路径没配对。
检查 PATH 里有没有 gcc.exe 所在的 bin 目录
这是最常被跳过的一步。很多人解压完 MinGW-w64 就直接开终端敲 gcc -v,结果报错,却没去确认 PATH 是否真包含了那个 bin 文件夹。
- 先手动找到
gcc.exe:典型路径如C:\mingw64\bin\gcc.exe或C:\msys64\mingw64\bin\gcc.exe;如果装在C:\Program Files\mingw64这类带空格的路径下,CMD 很可能解析失败,建议重装到无空格、无中文路径(比如C:\mingw64) - 打开「系统属性 → 高级 → 环境变量」,在「系统变量」里找到
Path,点编辑,确认里面有一条完整指向那个bin目录的路径(例如C:\mingw64\bin),不是上层目录,也不是bin里的某个子文件夹 - 改完 PATH 后,必须新开一个 CMD/PowerShell/VS Code 终端——旧终端不会自动读取新环境变量
确认 MinGW-w64 安装时选了 GCC 编译器组件
官方安装器(mingw-w64-install.exe)默认不装编译器,只装运行时库。你看到的 mingw-w64-x86_64-runtime 是个常见陷阱,它不含 gcc.exe。
- 启动安装器,进入「Installation Options」页,务必勾选
mingw-w64-x86_64-gcc(64位)或mingw-w64-i686-gcc(32位) - 如果用的是 MSYS2,则要在
MSYS2 MinGW x64终端里运行:pacman -S mingw-w64-x86_64-gcc,而不是只装base-devel - 装完后,在文件管理器里直接进
bin目录,看是否存在gcc.exe和g++.exe—— 没这两个文件,PATH 再对也没用
验证 gcc 是否真的可执行(别信 IDE 的自动检测)
VS Code、Qt Creator 或其他 IDE 有时会“假装”识别到 GCC,但实际调用时仍失败。最可靠的验证方式永远是手动在干净终端里跑命令。
- 打开 CMD(不是 VS Code 集成终端),输入:
where gcc—— 如果返回空,说明 PATH 没生效;如果返回多个路径,注意第一个是否是你装的版本 - 再输:
gcc -v,观察输出里Target:行是否含x86_64-w64-mingw32和Thread model: posix,这是正常 MinGW-w64 的标志;如果报错或输出 Linux 风格的x86_64-linux-gnu,说明你可能混进了 WSL 或 Docker 的 GCC - 特别注意
windres.exe报错时也显示gcc 不是内部或外部命令:这不是 windres 的问题,而是它依赖 GCC,所以同样要确保gcc.exe在 PATH 中且能被所有工具访问
最容易被忽略的点是:PATH 改了但没新开终端,或者装了 runtime 却以为装了编译器,又或者路径里有空格导致 CMD 解析失败。这三处任一出错,gcc 就永远是“不认识的命令”。


















