gcc多版本安装

Linux 自由切换gcc的版本
gcc作为c和c++的编译器,重要性不言而喻,尤其是在安装c,c++编写的各类软件或者需要编译安装的时候,免不了要和gcc打交道,某些软件对gcc的版本有严重的依赖,高低都不太行的样子。

要不说Linux社区强大呢,强大在这样的问题有专门的yum可以解决这类问题(官方的默认的源和epel源一般就一个比较低版本的gcc,centos7一般为4.8版本,完全不能满足需要),这个源就是 scl源。

使用这个源并切换gcc的版本十分方便,两个命令就可以了。

yum install centos-release-scl -y && yum  install devtoolset-8-gcc* -y#安装gcc8.3.1版本
        source /opt/rh/devtoolset-8/enable#激活脚本运行

命令运行完毕后,会生成 /opt/rh/devtoolset-8,在此路径下,一个是gcc激活脚本,另一个是gcc8.3.1版本。

当然,我们可以把第一个命令8换成别的数字,例如6,或者7,或者9,但是无法指定更为详细的版本,只能安装提供的大版本哦~~~~。

需要注意的是,激活脚本仅仅在当次有效,重启后环境变量会恢复,因为脚本并没有将环境变量写入文件,仅仅是source了一下。如果需要下次重启后还可以自动使用gcc高版本,请将脚本放入开机启动。

最后一句,指定更细的版本必须编译安装了,这不在本文探讨内。

当然,这个源还可以安装rust和go语言的环境,实现快速搭建go和rust语言环境。

例如:yum install devtoolset-7-go  -y

1、安装SCL源

yum install centos-release-scl-rh

2、安装GCC/GCC-C++

yum install devtoolset-7-gcc devtoolset-7-gcc-c++

yum install devtoolset-8-gcc devtoolset-8-gcc-c++

yum install devtoolset-9-gcc devtoolset-9-gcc-c++

devtoolset-7:对应于gcc7.2

3、使用

source /opt/rh/devtoolset

既然SCL能够解决软件安装、软件多版本并存的问题,同样也可以解决gcc多版本并存的问题,如下:

       一、SCL的安装和配置
                    在命令行执行安装和配置SCL的命令:sudo yum install centos-release-scl scl-utils-build scl-utils

                   

       二、查看 SCL 中可用包的完整列表:
                   在命令行执行命令:yum list all --enablerepo='centos-sclo-rh'

                

  三、查看SCL支持的gcc的版本:
               在命令行执行命令:yum list all --enablerepo='centos-sclo-rh'|grep gcc

              当前支持的gcc版本如下图所示:

四、安装需要的gcc版本:
         在命令行执行命令(安装所有版本的gcc):

yum install devtoolset-3-gcc.x86_64 devtoolset-3-gcc-c++.x86_64 devtoolset-3-gcc-plugin-devel.x86_64 devtoolset-4-gcc.x86_64 devtoolset-4-gcc-c++.x86_64 devtoolset-4-gcc-gdb-plugin.x86_64 devtoolset-4-gcc-plugin-devel.x86_64 devtoolset-4-libccjit.x86_64 devtoolset-4-libgccjit-devel.x86_64 devtoolset-4-libgccjit-docs.x86_64 devtoolset-6-gcc.x86_64 devtoolset-6-gcc-cc.x86_64 devtoolset-6-gcc-gdb-plugin.x86_64 devtoolset-6-gcc-plugin-devel.x86_64 devtoolset-6-libgccjit.x86_64 devtoolset-6-libgccjit-devel.x86_64 devtoolset-6-libgccjit-docs.x86_64 devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64 devtoolset-7-gcc-plugin-devel.x86_64 devtoolset-7-libgccjit.x86_64 devtoolset-7-libgccjit-devel.x86_64 devtoolset-7-libgccjit-docs.x86_64 devtoolset-8-gcc.x86_64 devtoolset-8-gcc-c++.x86_64 devtoolset-8-gcc-gdb-plugin.x86_64 devtoolset-8-gcc-plugin-devel.x86_64 devtoolset-8-libgccjit.x86_64 devtoolset-8-libgccjit-devel.x86_64 devtoolset-8-libgccjit-docs.x86_64 gcc.x86_64 gcc-c++.x86_64 gcc-plugin-devel.x86_64 libgcc.i686 libgcc.x86_64
五、查看SCL已安装的软件版本:
      在命令行执行命令:scl --list 或scl -l

    

六、查看当前使用的gcc的版本:


七、切换gcc的版本:
在命令行执行命令:scl enable devtoolset-8 bash

发现gcc已经切换到了gcc 8.2.1

搞定!!!

附:SCL的常用命令:

1、scl --list 或scl -l
2、scl --help 或 scl -h
3、scl enable <scl-package-name> <command>  #使用scl来执行command命令
4、scl enable  devtoolset-4 bash  #使用scl创建一个scl包的bash会话环境
5、exit  #退出当前scl bash环境,恢复成系统bash环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值