当前位置: 首页 > news >正文

编译 C++ 报错“找不到 g++ 编译器”的终极解决方案(含 Windows/Linux/macOS)

前言

在使用终端编译 C++ 程序时,报错:

或类似提示,意味着你的系统尚未正确安装或配置 g++ 编译器。本篇将从零手把手教你在 Windows / Linux / macOS 下安装并配置 g++,适用于新手或 C++ 入门阶段的你。

什么是 g++?

g++ 是 GNU 编译器套件(GCC)中的 C++ 编译器,能够将 .cpp 文件编译为可执行程序。它是开发 C++ 应用最常用的工具之一。

方法一:使用 MSYS2 安装 g++

MSYS2 提供了 GCC 的 MinGW 编译环境,适用于 Windows 原生开发。

步骤:
  1. 下载并安装 MSYS2
    访问官网:MSYS2
    下载并安装后,打开 MSYS2 MinGW 64-bit 终端。

  2. 更新系统包管理器(第一次安装的时候)

pacman -Syu

安装 g++

pacman -S mingw-w64-x86_64-gcc

配置环境变量(可选)
将如下路径添加至系统 PATH 中(建议):

C:\msys64\mingw64\bin

验证

g++ --version

方法二:使用 MinGW 安装 C++ 开发环境(Windows)

如果你不想安装 MSYS2 或 VS 这么重的工具链,也可以选择 MinGW(Minimalist GNU for Windows),这是 Windows 上一个非常轻量的 C/C++ 编译器方案。

它适合初学者和中小型项目,安装简单,占用空间小,支持标准的 g++ 命令行编译。

下载 MinGW 安装器

进入官方或推荐页面下载:

  • 官网:mingw-w64

  • 推荐下载(sourceforge):
    https://sourceforge.net/projects/mingw-w64/

下载文件名通常为:

mingw-w64-install.exe

运行安装器

  • 架构选择x86_64

  • 线程模型posix

  • 异常处理seh(更适合 64 位)

  • 安装目录:比如 C:\mingw-w64

点击 Next,完成安装。

配置系统环境变量

这步很关键,不然命令行找不到 g++

操作步骤:

  1. 右键“此电脑” → 属性 → 高级系统设置 → 环境变量

  2. 找到 Path → 编辑

  3. 添加 MinGW 的 bin 目录路径,例如:

C:\mingw-w64\bin

测试是否安装成功

打开 命令提示符(cmd)PowerShell,输入:

g++ --version

如果显示如下版本信息,说明安装成功:

g++ (x86_64-posix-seh, built by ... ) 13.x.x

如果还是不可以的话,可以点击打开下载的MinGW Installer

观察是否有环境(版本信息)

如果没有的话,就点击package列的选择框进行勾选,然后点击update package进行更新下载

等到完成后查看版本号是否为空,如果为空,可能没有吧下载成功,需要重新下载。

方法三:安装 TDM-GCC(适合懒人)

官网下载地址:https://jmeubank.github.io/tdm-gcc/

安装后勾选添加到系统环境变量,即可使用 g++

Linux 解决方案(Ubuntu/Debian)

安装 g++:

sudo apt update sudo apt install g++

验证

g++ --version

如果看到版本号输出,说明安装成功!

macOS 解决方案

macOS 上安装 g++ 主要依赖 Apple 提供的 Xcode 工具链。

步骤一:安装命令行工具

xcode-select --install

这会安装 clang++ 编译器,它与 g++ 高度兼容。你也可以通过 Homebrew 安装 GCC。

步骤二(可选):使用 Homebrew 安装 g++

  1. 安装 Homebrew(如果你还没装):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  2. 安装 g++(gcc):

    brew install gcc

  3. 查看版本:

    g++-13 --version

    通常版本为 g++-13g++-12 等,可通过软链接或别名设置为默认:

    alias g++=g++-13

编译测试

编写一个最简单的 C++ 程序:

// hello.cpp
#include <iostream>
int main() {
    std::cout << "Hello, g++!" << std::endl;
    return 0;
}

g++ hello.cpp -o hello
./hello  # Windows 下为 hello.exe

如果能成功打印输出:

Hello, g++!

说明编译器工作正常!

常见问题排查

报错信息

原因解决方案
g++: command not found未安装 g++安装 g++
g++ is not recognized as an internal or external command环境变量未配置添加 g++ 所在路径到 PATH
permission denied权限不足使用 sudo 或检查当前目录权限

总结

平台推荐方式
WindowsMSYS2 + MinGW
Linuxapt/yum 安装
macOSXcode CLI 或 Homebrew 安装

无论你在哪个平台,只要按本文操作,5 分钟就能搞定 g++,从此告别“找不到编译器”的困扰!如果你觉得这篇文章对你有帮助,欢迎点赞 + 收藏 + 转发!
如遇其他 C++ 编译相关问题,也欢迎留言交流~

相关文章:

  • 2025最新系统 Linux 教程(六)
  • HTML5 服务器发送事件 (Server-Sent Events):实现网页自动获取服务器更新
  • 第53.5讲 | 小项目实战:用 SHAP 值解释农作物产量预测模型 [特殊字符][特殊字符]
  • Next.js v15 eslint 规则配置
  • Spring Boot知识点详解
  • 27、Session有什么重⼤BUG?微软提出了什么⽅法加以解决?
  • 【基础】Node.js 介绍、安装及npm 和 npx功能了解
  • 如何快速高效学习Python?
  • 界面开发框架DevExpress XAF实践:如何在Blazor项目中集成.NET Aspire?(二)
  • (第三篇)Springcloud之Ribbon负载均衡
  • 精益数据分析(21/126):剖析创业增长引擎与精益画布指标
  • 从码云上拉取项目并在idea配置npm时完整步骤
  • 【Spring Boot】深入解析:#{} 和 ${}
  • 算法笔记.spfa算法(bellman-ford算法的改进)
  • 五、web自动化测试01
  • 电脑怎么强制退出程序回到桌面 详细操作步骤
  • 为什么要提出Null-text Inversion
  • 力扣热题100题解(c++)—矩阵
  • 深入详解人工智能数学基础——概率论中的KL散度在变分自编码器中的应用
  • Java面试实战:音视频场景下的微服务架构与缓存技术剖析
  • 中日友好医院通报“医师肖某被举报”:基本属实,开除党籍并解聘
  • 伊朗南部港口火势蔓延,部分集装箱再次发生爆炸
  • 专访|伊朗学者:美伊核谈不只是改革派立场,但伊朗不信任美国
  • 王庆成:儒家、墨家和洪秀全的“上帝”
  • 伊朗外长: 美伊谈判进展良好,讨论了很多技术细节
  • ​王毅会见塔吉克斯坦外长穆赫里丁