centos7 升级 gcc 版本

piaoling  2023-11-10 10:19:45

entOS 7官方源的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。红帽其实已经编译好了高版本的gcc,但未更新到base和epel这两个常用源中,而是将这些版本放在scl中。


1、安装centos-release-scl

sudo yum install centos-release-scl

##列出GCC版本
yum list |grep devtoolset |grep gcc.x86_64

2、 安装devtoolset,

注意,如果想安装7.版本的,就改成devtoolset-7,以此类推

sudo yum install devtoolset-8*

3、 激活对应的devtoolset,

所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

# 官方推荐的加载命令 scl enable devtoolset-8 bash  -----------
# 第2种 执行安装软件自带的脚本,可以写入启动脚本中 source /opt/rh/devtoolset-x/enable #x为要启用的版本。 
gcc -v
这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,要想随意切换可按如下操作
首先,安装的devtoolset是在/opt/rh目录下的,
每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行
source ./enable

4、 直接替换旧的gcc

旧的gcc是运行的/usr/bin/gcc

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
 
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
 
mv /usr/bin/g++ /usr/bin/g++-4.8.5
 
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
 
gcc --version
 
g++ --version


升级 cmake

3.1 获取CMake源码包

wget https://cmake.org/files/v3.16/cmake-3.16.9.tar.gz

3.2 解压

tar xvzf cmake-3.16.9.tar.gz

3.3 编译安装

cd cmake-3.16.9/
./bootstrap --prefix=/usr/local/cmake
make -j4 
# 卸载旧版本
yum remove cmake -y

make install

3.4 配置

vi /etc/profile
#增加一行:
export PATH=$PATH:/usr/local/cmake/bin



参考:https://blog.csdn.net/chinus_yan/article/details/128722851




类别 :  默认(751)  |  浏览(1028)  |  评论(0)
发表评论(评论将通过邮件发给作者):

Email: