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

相关文章
|
4月前
|
Linux 编译器 开发工具
提升CentOS 7中的gcc/G++版本
至此,你已经成功在CentOS 7中升级了gcc/G++版本。从现在开始,在终端中运行 `gcc`或 `g++`时,将会使用新版本的编译器。
415 21
|
6月前
|
存储 Linux 网络安全
如何从CentOS7升级到8?CentOS8最新安装教程
从CentOS 7升级到8只需三步:清理系统、更换软件包及存储库、安装新内核与发布版本。首先确保系统最新并清理冗余包,接着替换基础系统包为CentOS 8版本,最后通过DNF工具完成内核更新与系统同步。整个过程需在终端执行,建议升级前备份VPS快照以防数据丢失。此方法可避免重装系统导致的数据清除问题,实现平滑升级。
869 6
|
6月前
|
中间件 Linux vr&ar
Centos7升级Glibc
centos7升级glic问题
1348 0
|
11月前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
527 64
|
9月前
|
运维 监控 安全
CentOS 7系统 OpenSSH和OpenSSL版本升级指南
本文详细介绍如何在CentOS 7系统上升级OpenSSH和OpenSSL至最新稳定版本(OpenSSH 9.6p1和OpenSSL 1.1.1w),解决多个已知安全漏洞(如CVE-2023-51767等)。涵盖环境说明、现存漏洞、升级准备、具体步骤及故障排查,确保服务器安全。建议先在测试环境验证,再应用于生产环境。
2723 7
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
119 0
|
监控 Linux Apache
CentOS7.0源码安装Apache
CentOS7.0源码安装Apache
1680 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.
738 0
|
1月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
421 69