下面的可以在centos6下工作,centos7下有问题。可能是因为centos下的scl我是拷贝的文件,没有完全验证centos6下肯定没问题。

https://my.oschina.net/u/583362/blog/682123 和https://www.quyu.net/info/876.html

拷贝其关键内容就是:

1.使用 redhat developer toolset 1.1 的repo,安装GCC

cd /etc/yum.repos.d

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo

yum --enablerepo=testing-devtools-2-centos-6 install devtoolset-2-gcc devtoolset-2-gcc-c++

2. 替换系统中原来的GCC

通过通过第一步会把 GCC 安装到以下目录:

/opt/rh/devtoolset-2/root/usr/bin

接下来需要修改系统的配置,使默认的 gcc 和 g++ 命令使用的是新安装的版本。

ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/
hash -r

编译时,提示错误“Error: expecting string instruction after `rep'”,这样解决:yum install devtoolset-2-binutils-devel

开头提到的另一个网页,可以安装gcc5.2版本。摘录如下:

gcc 4.8 安装

curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo
yum install gcc gcc-g++
gcc --version

gcc 4.9 安装

yum install centos-release-scl
yum install devtoolset-3-toolchain -y
scl enable devtoolset-3 bash
gcc --version

gcc 5.2 安装

yum install centos-release-scl
yum install devtoolset-4-toolchain -y
scl enable devtoolset-4 bash
gcc --version

gcc 6 安装

yum install centos-release-scl
yum install devtoolset-6-toolchain -y
scl enable devtoolset-6 bash
gcc --version

scl enable devtoolset-3 bash只是临时覆盖系统原有的GCC引用,如果想永久覆盖,可在root/.bashrc文件中添加source /opt/rh/devtoolset-3/enable

同样不要忘了: yum -y install devtoolset-<n>-binutils-devel, <n>是 2,3,4.

目前没有devtoolset-5-toolchain,但有devtoolset-6-toolchain

centos7 下可以直接yum安装:

sudo yum install centos-release-scl -y
sudo yum install devtoolset-6 -y
 

更改默认gcc版本

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6.3 40
sudo update-alternatives --config gcc

利用yum升级Centos6的gcc版本,使其支持C++11的更多相关文章

  1. windows 下使clion支持c++11操作记录

    最近用上了windows下的clion,发现默认安装的MINGW版本太低,导致所带的gcc版本竟然是3.5的,实在太老了,不支持c++11,于是手动修改了mingw的版本.首先去mingw的官网下载最 ...

  2. CentOS6下用yum升级系统最新内核版本

    首先当你决定升级内核时,要想清楚为什么升级内核,因为升级内核会带来很多麻烦.所以这种事情能避免就避免 导入 Public Key rpm --import https://www.elrepo.org ...

  3. [转]CentOS 5.3通过yum升级php到最新版本的方法

    来自:www.jasonlitka.com/media 通过测试,方法三可行: 方法三 vim /etc/yum.repos.d/utterramblings.repo 输入 [utterrambli ...

  4. CentOS 6.4 X64 利用 yum 升级到 Oracle linux 6.4 内核

    cd /etc/yum.repos.d wget http://public-yum.oracle.com/public-yum-ol6.repo mv CentOS-Base.repo CentOS ...

  5. centos7 升级gcc9.1.0版本

    centos7 环境 查缺补漏 yum install gcc gcc-c++ -y yum install bzip2 -y gcc版本下载:https://gcc.gnu.org/mirrors. ...

  6. 通过yum升级gcc/g++至版本4.8.2

    最近在坐一个日期处理的问题,需要安装sxtwl模块,但是gcc版本4.7死活也安装不上,最后测试到只能升级gcc版本到4.8才得以解决 [root@123 bin]# gcc -vUsing buil ...

  7. 利用 yum 命令和 rpm 命令升级 Nginx 或者安装最新版本 Nginx

    方法一:使用 yum 命令升级 Nginx 1.在配置 YUM 仓库的目录(/etc/yum.repos.d/)下新增文件  nginx.repo vi /etc/yum.repos.d/nginx. ...

  8. CentOS6.5 升级 Python 2.7 版本

    转载请注明出处http://write.blog.csdn.net/mdeditor 目录 目录 前言 安装Python-279 解决YUM与Python279的兼容问题 前言 CentOS 6.5中 ...

  9. 升级centos6.5系统的gcc为4.8.5的简易步骤

    Centos6.5_64位升级gcc为4.8.2的简易步骤 一.安装依赖包 yum install texinfo-tex flex zip mpfr-devel libgcc.i686 glibc- ...

随机推荐

  1. mysql distinct 后面没有括号

    当distinct应用到多个字段的时候,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面 如下语句是错误的: SELECT country, di ...

  2. python中的细节

    # 1 # li = ['a', 'b', 'c', 'd','e'] # print(li[10:]) #[] 不报错 # 2 # 这不是True或False,而是值 # 另外,优先级 not &g ...

  3. 对于adc dac使用细节

    1. 要更具内部线路图决定引脚分配,adc和dac绑定在一个线路上,所以设计的时候最好尽量间隔三个引脚以上,如果adc必须放到一起,请使用开关控制,但是dma等可能不能正常工作. 2.dac输出内部缓 ...

  4. export,import ,export default区别

    export,import ,export default区别 一.export,import ,export default ES6模块主要有两个功能:export和import export用于对 ...

  5. python与pycharm安装

    1.python install 1.1 下载安装包 -  https://www.python.org/downloads 1.2 installl 1.2.1 双击exe安装文件 1.3 如果安装 ...

  6. HQL之动态分区调整

    动态分区插入可以基于查询语句分出出要插入的分区名称.比如,下面向分区表插入数据的SQL: insert into table chavin.emp_pat partition(dname,loc) s ...

  7. Installing Precise (12.04.2) using netboot onto a Marvell ArmadaXP Development Board

      https://wiki.ubuntu.com/ARM/Server/Install https://wiki.ubuntu.com/ARM/Server/Install/ArmadaXP Arm ...

  8. 如何解决selenium打开chrome提示chromedriver.exe已停止工作

    场景:启动Chrome,打开URL,提示“disconnected: unable to connect to renderer” 解决方法:chromedriver与chrome的对应关系表, 需要 ...

  9. Java 生成三位随机数

    调用这个Math.Random()函数能够返回带正号的double值,该值取值区间是[0.0,1.0),注意,它是左闭右开区间.返回值是一个伪随机选择的数,在该范围内(近似)均匀分布. 如果生成三位随 ...

  10. JavaScript学习(三)