发布于2026-07-28 阅读(0)
扫一扫,手机访问
首先,确保系统是最新的,避免因旧包导致的兼容性问题。
sudo yum update -y
直接安装开发工具组,里面包含了GCC和G++等基础编译工具。
sudo yum groupinstall "Development Tools" -y
用两个命令快速确认系统里已经装了什么版本:
gcc --version
g++ --version
如果项目需要特定的GCC版本,比如老项目依赖GCC 4.8,新项目需要GCC 11,那就要同时管理多个版本。这里有两种主流方案。
SCL的好处是安装隔离,不影响系统默认的GCC,按需启用。以安装GCC 9为例:
sudo yum install centos-release-scl
sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++
scl enable devtoolset-9 bash
启用后,用gcc --version和g++ --version验证版本。退出当前shell后变回系统默认版本,非常灵活。
如果SCL里没有你要的版本,或需要更精细的控制,从源代码编译也很直接。以GCC 11.2.0为例:
wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
tar xf gcc-11.2.0.tar.gz
cd gcc-11.2.0
mkdir build && cd build
../configure --prefix=/opt/gcc-11.2.0 --enable-languages=c,c++
make -j$(nproc)
sudo make install
编译完成后,通过环境变量切换使用新版本:
export PATH=/opt/gcc-11.2.0/bin:$PATH
export LD_LIBRARY_PATH=/opt/gcc-11.2.0/lib64:$LD_LIBRARY_PATH
把这两行加到~/.bashrc里,就能永久生效。
有了多个GCC版本,怎么让项目用上特定版本?两种常见构建系统都支持。
CXX = g++-9
CMakeLists.txt中设置。set(CMAKE_CXX_COMPILER g++-9)
注意:如果切换了GCC版本,最好先make clean再重新编译,避免因旧的目标文件导致奇怪的问题。
以上是编译器版本管理,如果还需要对代码本身做版本控制,Git是最常用的工具。
sudo yum install git -y
进入项目目录,初始化仓库:
git init
添加所有文件并提交:
git add .
git commit -m "Initial commit"
之后就可以用git branch、git checkout等命令管理不同开发分支了。
总结一下,CentOS上配置C++版本控制,核心就是两步:一是学会用SCL或源码编译安装多个GCC版本,二是在项目中通过构建系统指定编译器。配合Git做代码版本管理,整个开发环境就清晰了。记得每次切换GCC版本后,务必重新编译项目,否则可能链接到错误的库,浪费时间排查。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8