使用yum安装是不可能了,各大仓库也没有,只能自己编译安装了。

系统为CentOS 6.5,gcc为4.4.7

1 下载源代码包

当前最新版为6.2:
  1. wget http://ftp.gnu.org/gnu/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2

也可以自行下载其他版本http://ftp.gnu.org/gnu/gcc


2 解压

  1. tar jxf gcc-6.2.0.tar.bz2

3 下载编译依赖

  1. cd gcc-6.2.0
  2. ./contrib/download_prerequisites

经过漫长的等待,速度太慢了~

4 生成Makefile文件

先建一个编译的目录
  1. mkdir gcc-build-6.2.0
  2. cd gcc-build-6.2.0/
  3. ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

5 编译

  1. make -j4

4表示使用4个核心,根据你的CPU来指定。也可不指定任何参数。

6 安装

  1. sudo make install

7 验证

  1. gcc -v

还有原来的版本,重启后,再验证OK

8 测试

写个测试的程序测试一下:


  1. g++ -std=c++11 -o testCpp11 testCpp11.cpp

顺利编译成功,执行./testCpp11提示:

  1. ./testCpp11: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./testCpp11)
  2. ./testCpp11: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./testCpp11)
  3. ./testCpp11: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./testCpp11)

看来动态库并没有更新。

9 更新动态库

查看动态库的版本:
  1. strings /usr/lib64/libstdc++.so.6 | grep GLIBC
  1. GLIBCXX_3.4
  2. GLIBCXX_3.4.1
  3. GLIBCXX_3.4.2
  4. GLIBCXX_3.4.3
  5. GLIBCXX_3.4.4
  6. GLIBCXX_3.4.5
  7. GLIBCXX_3.4.6
  8. GLIBCXX_3.4.7
  9. GLIBCXX_3.4.8
  10. GLIBCXX_3.4.9
  11. GLIBCXX_3.4.10
  12. GLIBCXX_3.4.11
  13. GLIBCXX_3.4.12
  14. GLIBCXX_3.4.13

确实没有更新,默认情况下,会安装在如下目录:

  1. /usr/local/lib64/libstdc++.so.6.0.22

简单了,将原来的库替换为上面的就可以了:

  1. rm -rf /usr/lib64/libstdc++.so.6
  2. ln -s /usr/local/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6

然后再查看动态库的版本:


  1. strings /usr/lib64/libstdc++.so.6 | grep GLIBC

结果

  1. GLIBCXX_3.4.22

这就是刚刚安装的版本,再执行一下测试程序./testCpp11,成功!




Linux升级安装GCC G++ 6.2的更多相关文章

  1. [转]Linux下用gcc/g++生成静态库和动态库(Z)

    Linux下用gcc/g++生成静态库和动态库(Z) 2012-07-24 16:45:10|  分类: linux |  标签:链接库  linux  g++  gcc  |举报|字号 订阅     ...

  2. cygwin安装gcc/g++

    安装cygwin如果按照默认的方式一直点下去的话,安装完了会发现没有安装gcc/g++. 这个时候可以在安装文件的目录打开命令行,并输入: setup-x86_64.exe -q -P wget -P ...

  3. Linux 安装gcc g++

    Linux版本: cat /proc/version Linux version 3.10.0-693.11.6.el7.x86_64 (mockbuild@x86-041.build.eng.bos ...

  4. Linux下安装gcc和g++

    以CentOS为例,安装后是没有C语言和C++编译环境的,需要手动安装,最简单的是用yum的方式安装,过程如下: 1.安装gcc yum install gcc 询问是否,按y键回车即可,或者 yum ...

  5. Linux下安装gcc 、g++ 、gfortran编译器

    一.ubuntu下gcc/g++/gfortran的安装 1.安装 (1).gcc ubuntu下自带gcc编译器.可以通过“gcc -v”命令来查看是否安装. (2).g++ 安装g++编译器,可以 ...

  6. [Centos]升级安装GCC

    摘要 在尝试运行asp.net core站点的时候,发现了gcc包版本太低,造成一些错误.没办法只能升级gcc了. 升级 最新包:http://gcc.parentingamerica.com/rel ...

  7. Debian/Ubuntu 已安装gcc/g++ 4.8.1

    gcc 4.8.1 是第一个全然支持C++11(C++14非常可能在gcc 4.9.0開始支持.)的编译器,Windows上能够安装mingw版的.在sourceforge 上有下载.安装也比較方便. ...

  8. linux下安装gcc详解

    1.了解一下gcc 目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.我自己linux上是4.1.2版本,是不支持openMP的 ...

  9. 【转载·】Linux yum 安装 gcc 、gcc-c++

      2017年09月29日 22:45:54 上善若水 阅读数:6653更多 个人分类: Linux学习 所属专栏: Linux学习杂技   版权声明:本文为博主原创文章,未经博主允许不得转载. ht ...

随机推荐

  1. 51nod 1201 整数划分

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201 DP转移方程:dp[i][j] = dp[i-j][j]+dp[i ...

  2. Codeforces 246E Blood Cousins Return(树上启发式合并)

    题目链接 Blood Cousins Return #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) f ...

  3. Codeforces Gym 100431A Achromatic Number 欧拉回路

    原题链接:http://codeforces.com/gym/100431/attachments/download/2421/20092010-winter-petrozavodsk-camp-an ...

  4. ssm实现查看流程图

    jsp <!--显示数据列表--> <tbody id="TableData" class="dataContainer" datakey=& ...

  5. Extjs grid增加或删除列后记住滚动条的位置

    IE下验证好使. { text: "Del", icon: 'Scripts/Ext/resources/images/icons/application_form_delete. ...

  6. pv,uv

    1.PV PV(page view),即页面浏览量:用户每1次对网站中的每个网页访问均被记录1次.用户对同一页面的多次访问,访问量累计. 2.什么是UV uv(unique visitor),指访问某 ...

  7. iOS -- SKPhysicsJointSpring类

    SKPhysicsJointSpring类 继承自 NSObject 符合 NSCoding(SKPhysicsJoint)NSObject(NSObject) 框架  /System/Library ...

  8. win7 32位配置apache+wsgi+django环境

    1下载xampp,里面有apache,mysql,phpmyadmin, 2 下载wsgi,http://download.csdn.net/download/copter/9192361 将对应的模 ...

  9. Android基础新手教程——3.7 AnsyncTask异步任务

    Android基础新手教程--3.7 AnsyncTask异步任务 标签(空格分隔): Android基础新手教程 本节引言: 本节给大家带来的是Android给我们提供的一个轻量级的用于处理异步任务 ...

  10. SSH 原理和公匙私匙

    先主要介绍了Telnet.SSH 的通信原理,分析了其通信时的工作流程. Telnet 无论Telnet协议连接的是什么类型终端,都会转换为NVT(Net Virtual Terminal)格式进行通 ...