CentOS 6.5 自带gcc太旧不支持c11, 升级到4.8的步骤:

引用:

http://cache.baiducontent.com/c?m=9d78d513d99216f31eb0d5690d67d371182497634bc0d16578c39339c6350a564717e5ac27551a10948522685be90f1efdf1456f2a4665f28cc8ff1b8ae7d4756ed97b23706bd71c4dce42f0981372d620e61cbee55ffaebad6ec7f587cedf5650cd4e077a82f4965c0412cb78f0636ba5f9c7&p=8566c54ad5c340e70be29635595298&newp=8b2a975f86cc42af59b2c6344d5780231610db2151ddd101298ffe0cc4241a1a1a3aecbf27281701d8ce776305ac4d58eaf03478350034f1f689df08d2ecce7e35&user=baidu&fm=sc&query=centos+6%2E5+gcc+4%2E8&qid=d9968aa80001bb84&p1=1

  贴一下步骤:      一、简易安装      操作环境 CentOS6.5
64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2
不能通过yum的方法升级,需要自己手动下载安装包并编译 1.1 获取安装包并解压
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
tar -jxvf gcc-4.8.2.tar.bz2
当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有4.9.2啦. 1.2 下载供编译需求的依赖项
参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。
cd gcc-4.8.0  ./contrib/download_prerequisites  1.3 建立一个目录供编译出的文件存放
mkdir gcc-build-4.8.2
cd gcc-build-4.8.2 1.4 生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib 1.5 编译(注意:此步骤非常耗时)
make -j4
-j4选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。
我在安装此步骤时候出错,错误描述: `compilation terminated. make[5]: * [_gcov_merge_add.o] 错误 1 make[5]: Leaving directory

/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/32/libgcc’

make[4]: * [multi-do] 错误 1 make[4]: Leaving directory

/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc’

make[3]: * [all-multi] 错误 2 make[3]: * 正在等待未完成的任务….

make[3]: Leaving directory

/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc’

make[2]: * [all-stage1-target-libgcc] 错误 2 make[2]: Leaving

directory/home/imdb/gcc-4.8.2/gcc-build-4.8.2’ make[1]: *

[stage1-bubble] 错误 2 make[1]: Leaving directory

/home/imdb/gcc-4.8.2/gcc-build-4.8.2’ make: * [all] 错误 2

  大概看看,错误集中在 x86_64unknown-linux-gnu/32/libgcc 和

x86_64-unknown-linux-gnu/libgcc

根据参考文献[3],安装如下两个软件包(仅用于CentOS6.X):

sudo yum -y install glibc-devel.i686 glibc-devel

  1.6、安装      sudo make install

          二、验证安装      重启,然后查看gcc版本:
gcc -v 尝试写一个C++11特性的程序段 tryCpp11.cc,使用了shared_ptr
复制代码 1 //tryCpp11.cc 2 #include <iostream> 3 #include <memory> 4 5 int main() 6 { 7 std::shared_ptr<int>

pInt(new int(5)); 8 std::cout << *pInt << std::endl; 9

return 0; 10 } 复制代码 验证文件:

g++ -std=c++11 -o tryCpp11 tryCpp11.cc ./tryCpp11

          三、其他安装:
- 在Ubuntu机器上安装:参考文献[3] - 非简易安装:参考文献[4] - 多个gcc版本共存问题:暂无 四、参考文献 [1] 参考的主要安装步骤 http://www.cnblogs.com/ytjjyy/p/4008096.html   注:这篇文章的后半部分解决动态库的方法非常有用处

安装完后, 编译程序运行应该还是有 GLIBCXX not found的错误

解决方案:

http://blog.csdn.net/officercat/article/details/39519265

注意其中

$ cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64
$ rm -rf /usr/lib64/libstdc++.so.6
$ ln -s /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC

本人的计算机上不是20, 而是18

CentOS 6.5 升级gcc到4.8 以及libstdc++的更多相关文章

  1. CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

    ---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update....   yum install 或者 添加y ...

  2. 【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

    原文地址:https://www.cnblogs.com/lzpong/p/5755678.html 我这里是centos7 升级到gcc8.1,过程差不多,参考这篇文章,记录一下. ---原文--- ...

  3. Centos 6.5升级gcc : 源码安装 + rpm安装

    1. 前言 采用Centos 6.5默认的gcc版本为4.4.7,不支持c++ 11,需要升级: 首先想到用yum命令:执行yum update gcc-c++或yum update g++ 显示没有 ...

  4. CentOS 6.9升级GCC至7.3.0版本

    1.查看当前centos版本:  cat /etc/redhat-release 2. 安装centos6.9默认的开发工具,包含gcc,g++,make等等一系列工具: yum groupinsta ...

  5. CentOS 6.5 升级 GCC 4.9.3

    1. GUN官网下载源代码安装包: gcc-4.9.3.tar.gz 2. 解压安装包,并进入解压后的文件夹: tar -zxvf gcc-4.9.3.tar.gz 3. 使用压缩包中的工具下载依赖: ...

  6. 转载:Centos升级gcc

    一.检查centos 里面是否安装了gcc g++ 输入命令:rpm -qa|grep gcc*有看到就出来gcc的东西就是装了没有的话就yum install gcc* -y 二.升级gcc 对于C ...

  7. Linux升级GCC

    升级原因 测试需要使用DOClever,下载了最新的node8.11,运行node 时候报错 [root@app_test bin]# node www module.js:681 return pr ...

  8. CentOS 7 升级gcc/g++编译器

    gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行.我的7.2的CentOS目前自带的gcc是4.8.5的,gcc从4.8之后开始支持C++11,但是鉴于现在C++14.C++17 ...

  9. centos 6升级 GCC 到4.8

    centos 6升级 GCC 到4.8   安装最新版本的swoole 提示 pecl install swolle ... GCC 4.8 or later required. 首先想到的时候yum ...

随机推荐

  1. Mvc Autofac构造器注入

    新建MVC项目,添加程序集引用 定义接口ILog public interface ILog { string Save(string message); } 类TxtLog实现接口ILog publ ...

  2. Java实现MD5加密解密类

    http://blog.csdn.net/m_changgong/article/details/4361526

  3. 坡道定点停车30cm

    坡道定点停车与起步是科目二五项必考之一,想要顺利通过该项考试,学员需要掌握两个要点,一个是车身距离右侧边线30cm以内的距离,一个是定点时机.本期,元贝小编先和大家分享半坡起步右边30公分怎么看.   ...

  4. 从数据的角度带你深入了解IPFS

    IPFS 和区块链有着非常紧密的联系, 随着区块链的不断发展,对数据的存储需求也越来越高.本文从IPFS 的底层设计出发, 结合源代码, 分析了IPFS 的一些技术细节. 一.概述 IPFS 和区块链 ...

  5. php字符串啊的heredoc格式

    Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术.它也出现unix/linux的shell编程里面.但是现在的一些论坛程序,和部分文 ...

  6. SSD Network Architecture--keras version

    这里的网络架构和论文中插图中的网络架构是相一致的.对了,忘了说了,这里使用的keras版本是1.2.2,等源码读完之后,我自己改一个2.0.6版本上传到github上面.可别直接粘贴复制,里面有些中文 ...

  7. 【整理】XOR:从陌生到头晕

    一:解决XOR常用的方法: 在vjudge上面输入关键词xor,然后按照顺序刷了一些题. 然后大概悟出了一些的的套路: 常用的有贪心,主要是利用二进制的一些性质,即贪心最大值的尽量高位取1. 然后有前 ...

  8. HihoCoder 1502 : 最大子矩阵 (双指针)

    描述 给定一个NxM的矩阵A和一个整数K,小Hi希望你能求出其中最大(元素数目最多)的子矩阵,并且该子矩阵中所有元素的和不超过K. 输入 第一行包含三个整数N.M和K. 以下N行每行包含M个整数,表示 ...

  9. spark运行模式之一:Spark的local模式安装部署

    Spark运行模式 Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Stan ...

  10. 在JS中将指定表单内的“具有name数据的表单元素的值”封装为Get形式的字符串

    //封装post时候,表单中所有具有name数据的表单元素的值,并返回“n=1&p=a” function serialize(formid) { var arr = []; var ipts ...