在 CentOS 上准备一套可用的 C++ 测试环境,核心并不在于装得多全,而是先把编译、构建、运行和基础排错这几件事打通。下面按“必装优先、可选补充”的思路整理一遍流程,你可以先完成最小可用环境,再根据项目需求补上编辑器、CMake、调试器和常用开发库。
先完成基础环境:更新系统并安装开发工具
正式安装前,建议先更新系统软件包,尽量减少依赖冲突和旧版本组件带来的问题。这一步很简单,但能避免后面不少麻烦。
sudo yum update -y
接着安装 CentOS 自带的 Development Tools 工具组。这个工具组基本覆盖了 C++ 开发常见的底层能力,包括 GCC 编译器、Make 工具、GDB 调试器等,适合作为环境搭建的起点。
sudo yum groupinstall "Development Tools" -y
安装并确认 G++ 编译器可用
即使已经安装了开发工具组,单独确认 C++ 编译器仍然有必要。CentOS 中对应的软件包名称是 gcc-c++,这一点容易忽略。
sudo yum install gcc-c++ -y
安装完成后,直接查看版本号做一次验证:
g++ --version
如果终端能够正常输出版本信息,说明 C++ 编译器已经就绪,后续就可以开始编译测试程序了。
按需补充编辑器和构建工具
编辑器怎么选
写代码至少需要一个顺手的编辑器。这里可以按使用习惯来选:
- Vim:适合终端环境,很多 CentOS 系统一般已经自带;如果没有,可以执行:
sudo yum install vim -y
- Visual Studio Code:适合需要图形界面、语法高亮和智能提示的场景。安装命令如下:
sudo yum install -y wget && wget -O - https://packages.microsoft.com/keys/microsoft.asc | sudo bash && sudo yum install -y code
安装完成后,可以在 VS Code 扩展市场中搜索“C/C++”并安装扩展,以获得常见的代码补全和语法支持。
项目稍复杂时再装 CMake
如果只是编译单个 .cpp 文件,直接调用 g++ 就够用了;但一旦项目文件变多,或者需要统一管理依赖和构建配置,CMake 会省事很多。它可以自动生成 Makefile,减少手动维护成本。
sudo yum install cmake -y
安装后建议顺手检查版本:
cmake --version
用 hello.cpp 验证环境是否搭建成功
环境是否真的可用,最直接的判断方式不是看安装过程有没有报错,而是实际编译并运行一个最小示例。

先创建测试文件 hello.cpp,内容如下:
#include <iostream>
int main() {
std::cout << "Hello, CentOS C++ Test Environment!" << std::endl;
return 0;
}
然后执行编译命令:
g++ -o hello hello.cpp
这条命令会生成可执行文件 hello。接着运行它:
./hello
如果终端输出:
Hello, CentOS C++ Test Environment!
就说明编译器、基础依赖和运行环境已经打通,这套 C++ 测试环境可以正常工作。
调试工具和常用开发库怎么补
需要排错时安装 GDB
当程序能编译但运行结果不对,或者出现崩溃、断点排查需求时,GDB 仍然是 Linux 环境里最常见的基础工具。

sudo yum install gdb -y
安装后可以先检查版本:
gdb --version
调试示例程序时,直接执行下面这条命令即可进入调试会话:
gdb ./hello
常见开发库按项目需求安装
如果后续项目涉及网络、多线程、加密通信或压缩处理,通常还要补装一些开发库。下面几个是 CentOS 下比较常见的选择:
- Boost 库:用于网络、多线程等高级功能
sudo yum install boost-devel -y
- OpenSSL 库:用于加密通信
sudo yum install openssl-devel -y
- Zlib 库:用于数据压缩
sudo yum install zlib-devel -y
这几项都不是搭建最小 C++ 测试环境的硬性前提,更适合在项目需要时再补装。
最小可用环境的判断标准
如果你的目标只是先在 CentOS 上把 C++ 程序跑起来,那么最小必需步骤其实只有三类:更新系统、安装 Development Tools 和 gcc-c++,然后用 hello.cpp 做一次实际编译运行验证。
编辑器、CMake、GDB 以及 Boost、OpenSSL、Zlib 这些库,都可以放到第二阶段按需补齐。这样搭建效率更高,也更容易判断问题到底出在编译器、构建工具,还是项目依赖本身。









