zoukankan      html  css  js  c++  java
  • linux离线安装软件(三)——Centos7以源码编译方式安装两个版本gcc

    Centos7源码安装两个版本gcc

    gcc编译安装前提是已安装其它版本的gccyum install -y gcc gcc-c++

    0.下载源码包

    官网下载或者国内镜像:http://mirrors.nju.edu.cn/gnu/gcc/gcc-5.5.0/

    1.解压缩

    tar -zxvf gcc-5.5.0.tar.gz
    

    2.下载依赖包

    cd gcc-5.5.0
    ./contrib/download_prerequisites
    

    3.新建目录

    mkdir build
    cd build
    

    4.编译+安装

    • --prefix:指定gcc安装目录,可以使用任意目录,这里使用/usr/local/gcc5目录
    • make -j:多核安装编译,
      • 例如在一台2核的机器上,可以使用make -j4, 最多允许4个编译命令同时执行,可以更有效的利用CPU资源
      • 并行的任务不宜太多,一般是CPU核心数的2倍
    ../configure --prefix=/usr/local/gcc5 --enable-checking=release --enable-languages=c,c++ --disable-multilib
    make -j 
    make install
    

    5.之间已有低版本的gcc存在,先删除已建的软连接

    rm -rf /usr/bin/gcc
    rm -rf /usr/bin/g++
    ln -s /usr/local/gcc5/bin/gcc /usr/bin/gcc
    ln -s /usr/local/gcc5/bin/g++ /usr/bin/g++
    

    6.查看新版本

    gcc --version
    

    7.替换老版本动态库

    运行程序时可能会出现/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found,是因为升级安装了gcc,生成的动态库没有替换老版本的gcc动态库导致的。

    找到在/usr/local/gcc5/lib64/文件夹下

    cp /usr/local/gcc5/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6.0.21
    rm -f /usr/lib64/libstdc++.so.6
    ln /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6
    
    博客内容仅供参考,部分参考他人优秀博文,仅供学习使用
  • 相关阅读:
    QB学堂济南游记
    区间质数查询 luoguP1865
    基础数据结构 ①(栈|队列|链表)
    图论算法->最短路
    小谈记忆化搜索
    Hibernate其它API
    Hibernate中Session与本地线程绑定
    Hibernate事务代码规范写法
    实体类对象的三种状态
    对实体类的CRUD操作
  • 原文地址:https://www.cnblogs.com/linagcheng/p/15698612.html
Copyright © 2011-2022 走看看