利用yum升级Centos6的gcc版本,使其支持C++11
下面的可以在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 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的更多相关文章
- windows 下使clion支持c++11操作记录
最近用上了windows下的clion,发现默认安装的MINGW版本太低,导致所带的gcc版本竟然是3.5的,实在太老了,不支持c++11,于是手动修改了mingw的版本.首先去mingw的官网下载最 ...
- CentOS6下用yum升级系统最新内核版本
首先当你决定升级内核时,要想清楚为什么升级内核,因为升级内核会带来很多麻烦.所以这种事情能避免就避免 导入 Public Key rpm --import https://www.elrepo.org ...
- [转]CentOS 5.3通过yum升级php到最新版本的方法
来自:www.jasonlitka.com/media 通过测试,方法三可行: 方法三 vim /etc/yum.repos.d/utterramblings.repo 输入 [utterrambli ...
- 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 ...
- centos7 升级gcc9.1.0版本
centos7 环境 查缺补漏 yum install gcc gcc-c++ -y yum install bzip2 -y gcc版本下载:https://gcc.gnu.org/mirrors. ...
- 通过yum升级gcc/g++至版本4.8.2
最近在坐一个日期处理的问题,需要安装sxtwl模块,但是gcc版本4.7死活也安装不上,最后测试到只能升级gcc版本到4.8才得以解决 [root@123 bin]# gcc -vUsing buil ...
- 利用 yum 命令和 rpm 命令升级 Nginx 或者安装最新版本 Nginx
方法一:使用 yum 命令升级 Nginx 1.在配置 YUM 仓库的目录(/etc/yum.repos.d/)下新增文件 nginx.repo vi /etc/yum.repos.d/nginx. ...
- CentOS6.5 升级 Python 2.7 版本
转载请注明出处http://write.blog.csdn.net/mdeditor 目录 目录 前言 安装Python-279 解决YUM与Python279的兼容问题 前言 CentOS 6.5中 ...
- 升级centos6.5系统的gcc为4.8.5的简易步骤
Centos6.5_64位升级gcc为4.8.2的简易步骤 一.安装依赖包 yum install texinfo-tex flex zip mpfr-devel libgcc.i686 glibc- ...
随机推荐
- [No000011E]Python教程1/9-Python简介
Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等. 那P ...
- tensorflow如何正确加载预训练词向量
使用预训练词向量和随机初始化词向量的差异还是挺大的,现在说一说我使用预训练词向量的流程. 一.构建本语料的词汇表,作为我的基础词汇 二.遍历该词汇表,从预训练词向量中提取出该词对应的词向量 三.初始化 ...
- Vue 超快速学习
Vue 超快速学习 基础知识: 1.vue的生命周期: beforeCreate/created. beforeMount/mounted. beforeUpdate/updated. beforeD ...
- 基于cdh5.10.x hadoop版本的apache源码编译安装spark
参考文档:http://spark.apache.org/docs/1.6.0/building-spark.html spark安装需要选择源码编译方式进行安装部署,cdh5.10.0提供默认的二进 ...
- maven工程之pom模板(hadoop、hive、hbase)
以下配置文件涵盖了hadoop.hive.hbase开发支持库的配置. 仅需针对maven工程pom.xml文件做相应更改就可以自动生成hadoop开发支持库. <properties> ...
- Eclipse各个版本区别
1.eclipse下载地址: 最新版:http://www.eclipse.org/downloads/ 历史版:http://archive.eclipse.org/eclipse/download ...
- mysql中建立索引的一些原则
1.先存数据,再建索引 有索引的好处是搜索比较快但是在有索引的前提下进行插入.更新操作会很慢 2.不要对规模小的数据表建立索引,数据量超过300的表应该有索引:对于规模小的数据表建立索引 不仅不会提高 ...
- Page6:关于能控性、能观性、能测性及其判据(1)[Linear System Theory]
内容包含能控性和能测性的定义,连续时间线性时不变系统能控性和能观测性判据
- 转:JDBC中关于PreparedStatement.setObject的一些细节说明
原文地址:https://blog.csdn.net/zhiyangxuzs/article/details/78657235 JDBC中PreparedStatement.setObject(ind ...
- synchronized使用
在一个方法内部使用如下代码: public void m5() { synchronized (Test1.class) { System.out.println("m5"); t ...