zoukankan      html  css  js  c++  java
  • Centos6.X 手动升级gcc

    操作环境 CentOS6.5 64bit,gcc原版本为4.4.7,不能支持C++11的特性,所以需要升级

    [root@zengxj ~]# wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz
    [root@zengxj ~]# tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/
    [root@zengxj ~]# cd /usr/local/gcc-6.1.0
    [root@zengxj gcc-6.1.0]# ./contrib/download_prerequisites
    [root@zengxj gcc-6.1.0]# mkdir build && cd build
    [root@zengxj build]# ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib 
    [root@zengxj build]# make 
    [root@zengxj build]# make install
    
    # 替换原来的gcc版本
    [root@zengxj build]# update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc 40
    [root@zengxj build]# mv /usr/bin/gcc /usr/bin/gcc.bak
    [root@zengxj build]# ln -s /usr/local/bin/x86_64-pc-linux-gnu-gcc /usr/bin/gcc
    
    # 重启
    [root@zengxj build]# reboot
    

     在执行程序出现 "/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found" 的情况,可能是已安装过高版本的gcc但是未软连接

    解决方法:查找编译gcc时生成的最新动态库

    find / -name "libstdc++.so*"
    
    cd /usr/lib64
    ll stdlibc++*
    

    这时可以看到当前libstdc++.so.6指向13的版本,接下来将刚刚的高版本的复制到这里并重建软链即可

    rm libstdc++.so.6
    ln -s libstdc++.so.6.0.22 libstdc++.so.6
    
  • 相关阅读:
    python 字符串常用操作
    markdown 基础语法
    网络安全入门的16个基本问题
    Linux中20个crontab例子
    使用python爬取一个网页里表格的内容
    浅谈python的深浅拷贝
    Linux中设置普通用户可以su和sudo
    iptables四表五链
    CentOS7编译安装NFS
    源码安装csvn
  • 原文地址:https://www.cnblogs.com/xi-jie/p/10593235.html
Copyright © 2011-2022 走看看