zoukankan      html  css  js  c++  java
  • centos 6.4 QT5 的安装,找不到GLIBCXX_3.4.15的解决办法

    下载安装后 启动的时候提示 GLIBCXX_3.4.15,发现libstdc++.so.6的版本过,

    在安装qt-creator的时候运行这个IDE就出现了这个问题,是由于libstdc++.so.6的版本过低,需要下载个新的重新建立软连接。

    我这里是 更新里 gcc 版本到 4.8 解决的,更新之后做里链接

     ln -s /usr/lib/libstdc++.so.6     /usr/local/lib/libstdc++.so.6.18

    下面是详细的解决过程

    1.【分析过程】

    linux 执行strings /usr/lib/libstdc++.so.6 | grep GLIBC
    返回结果没有GLIBCXX_3.4.15

    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBC_2.0
    GLIBC_2.3
    GLIBC_2.4
    GLIBC_2.3.4
    GLIBC_2.1
    GLIBC_2.1.3
    GLIBC_2.2
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    执行ls -l  /usr/lib/libstdc++.so.6
    发现/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.12,其实这里需要使用libstdc++.so.6.0.12
    从网上下载这个文件,然后rm -rf /usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.12软链接删除,重新做
    关键是 网上下载的不对或者 没有找到,然后重新编译GCC 4.8的版本

    2.【更新GCC】

    1、下载gcc 4.8.1源码包:

    http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.bz2

    我是虚拟机里面装的Linux,我嫌wget太慢,所以自己在Windows上用迅雷下好,然后共享到Linux中。

    2、解压:

    tar -jxvf gcc-4.8.1.tar.bz2

    3、下载编译所需的依赖包:

    这个步骤有两种方式完成:

    a) 如果Linux有网络连接,直接这样:

    cd gcc-4.8.1

    ./contrib/download_prerequisites

    cd ..

    b) 如果Linux没有网络连接(我主机和虚拟机是Host-only,不能联网,所以另外想办法),则用Windows上网下载这几个包:

    ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2

    http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2

    http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

    有人问,一定要下载几个版本吗?下载最新的版本行不行?我没试过,也不知道,我是按照gcc-4.8.1/contrib/download_prerequisites脚本里面的版本下载的。既然里面已经说了这几个版本,那我就严格按照它的要求来做。

    然后解压并移动到gcc-4.8.1下面:

    tar -xjf gmp-4.3.2.tar.bz2

    tar -xjf mpfr-2.4.2.tar.bz2

    tar -xzf mpc-0.8.1.tar.gz

    mv gmp-4.3.2 gcc-4.8.1/gmp

    mv mpfr-2.4.2 gcc-4.8.1/mpfr

    mv mpc-0.8.1 gcc-4.8.1/mpc

    这样的做法好处是,不用单独编译gmp、mpfr和mpc三个包,放在gcc源码下面一起编译(事实上这也是gcc-4.8.1/contrib/download_prerequisites脚本的做法,个人感觉更简洁些)。

    4、新建目录用于存放编译结果:

    mkdir gcc-build-4.8.1

    5、进入新目录,并执行configure命令,产生makefile:

    cd gcc-build-4.8.1

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

    具体选项不多解释,大家可以自己查看,我只用到c和c++,所以只编译这两种语言的编译器。

    6、编译:

    make -j4

    我是i5四核,所以开4个线程同时编译,要是有8核就更爽了~我在虚拟机里面花了30分钟不到的时间,不算太慢了。

    7、安装:

    sudo make install

    8、大功告成,检查版本:

    g++ --version

    g++ (GCC) 4.8.1

    3.【更新链接】

    发现/usr/lib下的 libstdc++.so.6.0.12 没有被更新,查找 结果得知 g++ make install 在 /usr/local/bin 目录,

     ln -s /usr/lib/libstdc++.so.6     /usr/local/lib/libstdc++.so.6.18

  • 相关阅读:
    博客园 投放 谷歌广告(google adsense) 且不被屏蔽掉
    JAVA与C#程序调用DOS命令
    redhat 5 安装apache 2.2
    解决"Windows 安装程序不允许从远程桌面连接安装"
    测试使用windows live writer的adsense coder发布文章
    解决:apache 整合redmine 启动报错 mod_passenger.so: failed to map segment from shared object: Permission denied
    企业级安全服务权限控制 Acegi安装系统介绍 Spring Framework安全系统
    解决Rails升级问题
    解决MyEclipse 7开发EXTJS 每次保存都要编译js的导致开发效率很低的问题
    解决:redmine 安装 rake db:migrate encoding: utf8
  • 原文地址:https://www.cnblogs.com/sitemaker/p/3185039.html
Copyright © 2011-2022 走看看