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. 【BZOJ1483】[HNOI2009]梦幻布丁 链表+启发式合并

    [BZOJ1483][HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2 ...

  2. jsp页面中文乱码解决方案

    一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language=&q ...

  3. [Phoenix] 二、数据类型

    目前Phoenix支持24种简单数据类型和1个一维Array的复杂类型.以下是对支持数据类型的说明: 1. INTEGER 2. UNSIGNED_INT 3. BIGINT 4. UNSIGNED_ ...

  4. 九度OJ 1131:合唱队形 (DP、最长上升下降序列)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2865 解决:881 题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形. ...

  5. Vue 单页面应用 SEO SPA single page application advantages and disadvantages

    处理 Vue 单页面应用 SEO 的另一种思路 - muwoo - 博客园 https://www.cnblogs.com/tiedaweishao/p/7493971.html SPA网站SEO完美 ...

  6. Java实现MD5加密解密类

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

  7. java中两字符串比较--compareTo方法

    java.lang.String.compareTo() 方法比较两个字符串的字典,比较是基于字符串中的每个字符的Unicode值 String n1 = "1"; String ...

  8. LVS集群的负载调度

    LVS集群的负载调度 章文嵩 (wensong@linux-vs.org) 转自LVS官方资料 2002 年 5 月 本文主要讲述了LVS集群的IP负载均衡软件IPVS在内核中实现的各种连接调度算法. ...

  9. Code Review 规范

    CodeReview规范 CodeReivew 标准 通用原则 提交 PR 的代码必须保证自测通过 只 review 代码规范.业务逻辑,不 review 架构设计(那是写代码前应该做的事情) 干掉重 ...

  10. vue组件挂载到全局方法

    在最近的项目中,使用了bootstrap-vue来开发,然而在实际的开发过程中却发现这个UI提供的组件并不能打到我们预期的效果,像alert.modal等组件每个页面引入就得重复引入,并不像eleme ...