centos 源码升级g++版本

简介:

1、用GNU上下载对应版本的源码包到本地,官网:http://ftp.gnu.org/gnu/gcc/

  这里选用最新的包:

    wget http://ftp.gnu.org/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.gz

2、解压对应的包,然后进入到gcc-7.1.0目录下:

    tar zxvf gcc-7.1.0.tar.gz

3、下载更新所需要的依赖包,执行:

    ./contrib/download_prerequisites

    下载完成后,会看到新生成的文件

    -rw-r--r--  1 root root 2383840 Jun 12 12:34 gmp-6.1.0.tar.bz2

    -rw-r--r--  1 root root 1279284 Jun 12 12:34 mpfr-3.1.4.tar.bz2

    -rw-r--r--  1 root root  669925 Jun 12 12:34 mpc-1.0.3.tar.gz

    -rw-r--r--  1 root root 1626446 Jun 12 12:34 isl-0.16.1.tar.bz2

    lrwxrwxrwx  1 root root      12 Jun 12 12:34 gmp -> ./gmp-6.1.0/

    lrwxrwxrwx  1 root root      13 Jun 12 12:34 mpfr -> ./mpfr-3.1.4/

    lrwxrwxrwx  1 root root      12 Jun 12 12:34 mpc -> ./mpc-1.0.3/

    lrwxrwxrwx  1 root root      13 Jun 12 12:34 isl -> ./isl-0.16.1/

  

   接下来安装对应的依赖包,依赖包可能存在一定依赖,请按照顺序进行安装,gmp->mpfr->mpc->isl。分别进入对应目录中,执行./configure ---> make ---> make install 即可。(这个顺序,亲测可行)

4、生成g++的makefile文件

    ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

5、编译

    make

     使用make -j4,采用多核优化提高速度

6、安装

    make install


7、到此安装完毕,看到一下gcc,g++的版本

    [root@localhost gcc-7.1.0]# gcc --version

    gcc (GCC) 7.1.0

    Copyright (C) 2017 Free Software Foundation, Inc.

    This is free software; see the source for copying conditions.  There is NO

    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


    [root@localhost gcc-7.1.0]# g++ --version

    g++ (GCC) 7.1.0

    Copyright (C) 2017 Free Software Foundation, Inc.

    This is free software; see the source for copying conditions.  There is NO

    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

8、更新libstdc++.so.6的库

    从安装包里查找对应的库:    

    [root@localhost gcc-7.1.0]# find . -name libstdc++.so.6*

    ./prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.23

    ./prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

    ./x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.23

    ./x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

    ./stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.23

    ./stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

    将libstdc++.so.6.0.23拷贝到/usr/lib64/目录下

    进行/usr/lib64/目录下,删除libstdc++.so.6(为一个软链接)

    将libstdc++.so.6.0.23软链接为libstdc++.so.6

    即:ln -s libstdc++.so.6.0.23  libstdc++.so.6

9、写个简单的Hello world测试一下    

    [root@localhost codes]# cat hello.cpp

    #include <iostream>

    #include <memory>

    

    void foo(std::shared_ptr<int> i)

    {

            (*i) ++;

    }

    

    int main()

    {

            auto pointer = std::make_shared<int>(10);

            foo(pointer);

    

            std::cout<<*pointer<<std::endl;

    

            return 0;

    }

    

    [root@localhost codes]#

    [root@localhost codes]# g++ hello.cpp -std=c++14

    [root@localhost codes]#

    [root@localhost codes]# ./a.out

     11

    [root@localhost codes]#

9、看来没问题,升级结束j_0051.gif

       



 本文转自 XDATAPLUS 51CTO博客,原文链接:http://blog.51cto.com/xdataplus/1935111

相关文章
|
2月前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
185 64
|
2月前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
226 63
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
97 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
128 2
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
276 2
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
61 3
|
7月前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
67 0
|
监控 Linux Apache
CentOS7.0源码安装Apache
CentOS7.0源码安装Apache
1626 0
|
关系型数据库 测试技术 PHP
CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一、准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util http://mirror.
698 0