分享

centos7升级gcc8.2

 rongq2007 2019-09-05

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/lianshaohua/article/details/83411684

        centos7系统自带的是gcc 4.8.5的,对c++11支持还算比较好。目前,c++14、c++17的标准都已出台,c++20还会远吗?

为了更好的学习和工作,说白了就是为了尝鲜,老广干什么事情都是要尝鲜的,所以身在广东的我,也准备尝尝鲜,把centos7的gcc升级到gcc最新版本,目前最新的版本是gcc8.2(详见:https://gcc./)

         接下来升级,

        有些软件的安装升级可以从编译好的二进制包升级,免去了构建的痛苦,但gcc必须从源码升级,必须经历编译的痛苦。

       具体升级步骤如下:

       (建议至少要有12GB以上的空闲空间)

第一步:下载gcc8.2源码

                我习惯使用git,所以早已在centos安装了git,gcc的gitURL:https://github.com/gcc-mirror/gcc,在浏览器打开这个网址后,不要急于下载,先选择gcc的版本,如下图所示:

                先点击“Branch:master”,再点击“Tags”

                 最后找到gcc 8.2,点击"gcc-8_2_0-release"完成Tags的切换

                 进入自己的home目录执行如下命令:

                   git clone  --branch gcc-8_2_0-release  https://github.com/gcc-mirror/gcc.git

                下载时间视网速而定,源码大概有3.3GB的样子,所以慢慢等。下载完成后进入第二步。

                由于最近被限速了,所以建议大家下载压缩包(http://ftp.tsukuba.wide./software/gcc/releases/gcc-8.2.0/)

第二步:安装依赖库

               以前升级gcc非常麻烦,因为gcc依赖了mpfr、gmp、mpc 和isl共四个库,下载也麻烦 ,现在简单了。

              在gcc目录,执行:./contrib/download_prerequisites

              此命令会自动把gcc需要的这几个依赖库下载完成

第三步:配置、编译、

             在gcc目录,执行配置命令:./configure  --prefix=/usr --enable-multilib

             如果只需要支持c,c++编译器,则执行配置命令:./configure  --prefix=/usr --enable-multilib --enable-languages=c,c++

             可能会报错:configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.(意思是说:没有找到32位的开发库,如果不想编译支持多平台的gcc,可以使用--disable-multilib重新配置),大咖怎么能不支持多平台的编译呢?所以安装32位的开发库吧,使用如下命令:

             sudo yum install libgcc.i686

             sudo yum install glibc-devel.i686

            安装完成后,再次执行命令:./configure --prefix=/usr --enable-multilib

            应该不会报错了,且会生成Makefile,然后编译:

            make  #建议使用单任务make,不要使用多任务,多任务有可能会编译报错。

           经过漫漫漫漫长的等待,终于make完成了,然后执行:

           sudo make install  安装完成的最后信息截图如下:

               最后使用gcc --version 查看gcc的版本:

————————————————

版权声明:本文为CSDN博主「ztenv」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/lianshaohua/article/details/83411684

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多