首页 > 代码库 > CentOS6.5 QT5.3 找不到GLIBCXX3.4.15解决方法
CentOS6.5 QT5.3 找不到GLIBCXX3.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 编译一个小时左右.... 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
或
ln -s /usr/lib64/libstdc++.so.6 /usr/local/lib64/libstdc++.so.6.0.20
---------------------------------------------------------------------------------------------
来源于:http://www.cnblogs.com/sitemaker/archive/2013/07/11/3185039.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。