CentOS系统下从零开始C++开发环境搭建详细步骤指南
在CentOS上配置C++开发环境,整体流程并不复杂,但新手常在一些细节上遇到困难。首先明确需求:核心工具包括编译器、构建工具,以及可选的调试器。
从基础入手,按步骤操作,很快就能运行第一个C++程序。
CentOS下C++开发环境配置步骤
1. 更新系统包
在安装任何工具之前,务必更新系统软件包以确保兼容性,这是最基础的操作。

sudo yum update -y
2. 安装基础开发工具组
通过Development Tools组可以一次性安装GCC、G++、Make等核心开发工具,从而获得编译C++所需的基本工具链。
sudo yum groupinstall "Development Tools" -y
安装完成后,建议验证一下版本:
gcc --version
# 查看GCC版本
g++ --version
# 查看G++版本
make --version
# 查看Make版本
3. 安装C++编译器(G++)
如果上述步骤未能自动安装G++(偶尔会遗漏),单独补装也很简单:
sudo yum install gcc-c++ -y
4. (可选)安装代码编辑器
编辑器的选择因人而异,这里推荐两种主流方案:
- Vim(终端用户):如果习惯纯命令行操作,Vim高效且轻量:
sudo yum install vim -y - Visual Studio Code(图形界面,推荐):从官网下载
.rpm包,安装并修复依赖:
安装后,建议在VSCode中搜索并安装C/C++扩展(Microsoft官方出品),可显著提升代码补全与语法检查体验。sudo rpm -ivh code-*.rpm sudo yum install -f # 修复可能的依赖问题
5. (可选)安装CMake(项目管理工具)
如果项目需要跨平台构建或涉及复杂的项目管理流程,CMake是值得安装的利器:
sudo yum install cmake -y
验证方法:cmake --version输出正常即可。
6. (可选)安装调试工具
调试是开发中不可或缺的环节,GDB(GNU调试器)几乎是必备技能:
sudo yum install gdb -y
安装后运行gdb --version确认无误。
7. (可选)安装常用开发库
根据项目需求,建议提前准备好正则表达式、压缩、网络等相关库:
sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
8. 测试C++环境
最后验证环节,使用经典的hello world程序:
// hello.cpp
#include
int main() {
std::cout << "Hello, CentOS C++!" << std::endl;
return 0;
}
编译并运行:
g++ -o hello hello.cpp # 编译
./hello # 运行
若终端输出Hello, CentOS C++!,则说明环境配置成功。这一步跑通,后续的探索才有意义。
9. (可选)升级GCC版本(如需较新版本)
CentOS默认仓库中的GCC版本通常较老,若需使用较新的C++标准特性,可以通过Software Collections (SCL)安装新版本。以GCC 9为例:
sudo yum install centos-release-scl -y # 添加SCL仓库
sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++ -y # 安装GCC 9
scl enable devtoolset-9 bash # 临时启用GCC 9(仅当前终端有效)
如需永久启用,将以下内容添加到~/.bashrc末尾:
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
source ~/.bashrc
# 使配置生效
最后再次确认版本:g++ --version输出应与预期一致。
以上步骤完成后,一个完整的C++开发环境便搭建完毕。后续可根据项目实际需求,补充CLion IDE、Valgrind内存检测工具等,进一步提升开发效率。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
PyTorch中使用多维索引张量对高维张量批量索引的正确方法
本文深入讲解如何在 PyTorch 中利用形状为 [b, k] 的索引张量 B,对形状为 [b, m, n] 的高维张量 A 执行高效批量索引,最终得到 [b, k, n] 的输出。核心思路在于合理扩展索引维度并配合 torch gather 实现精准的逐行抽取。 很多人处理高维张量的批量索引时都会
Go中...操作符解包切片传递可变参数函数
在 Go 语言中,` ` 运算符放在切片变量后面(如 `slice `)的作用是将该切片“展开”为多个独立参数,专门用于调用那些接受可变参数(` T`)的函数,例如 `append` 或 `fmt Println`。这是一种类型安全的语法糖,并非省略号或通配符,能够帮助开发者更简洁地处理
macOS与WSL2下PHP多版本切换失效问题排查与修复指南
本文深入分析在 macOS 或 WSL2(Ubuntu)开发环境中,通过 Homebrew 管理 PHP 多版本时,php -v 始终显示旧版本(如 php@5 6)的深层原因,并给出系统性解决方案,覆盖 PATH 冲突、符号链接逻辑、Shell 初始化配置、系统残留配置等关键环节。 遇到这种情况的
PHP JSON解析深层嵌套对象属性访问失败的解决方法
使用 json_decode() 解析 API 返回的 JSON 数据时,经常遇到某个子属性无法正常获取,始终返回 NULL —— 这是许多 PHP 开发者都曾碰到过的棘手问题。通常并非数据丢失,而是对象嵌套层级比预期更深,导致访问路径不正确。 举例来说,你看到返回的 JSON 里有一个 appea
nnU-Net v2预处理卡死问题的成因分析与实用解决指南
> 使用 nnUNetv2_plan_and_preprocess 处理大规模数据集(例如 704 例样本)时,程序常因多进程加载导致死锁而停滞。核心原因在于默认并发数过高引发资源竞争或 I O 阻塞,适当降低并发数即可稳定完成全量预处理。 你在使用 `nnunetv2_plan_and_prepr
- 日榜
- 周榜
- 月榜
相关攻略
2026-07-03 06:53
2026-07-03 06:53
2026-07-03 06:53
2026-07-03 06:53
2026-07-03 06:53
2026-07-03 06:52
2026-07-03 06:52
2026-07-03 06:52
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

