作者:qyuyo0606 | 来源:互联网 | 2024-11-13 16:52
在CentOS6.4上安装QT5并启动QtCreator时,可能会遇到缺少GLIBCXX_3.4.15的问题。这是由于系统中的libstdc++.so.6版本过低。本文将详细介绍如何通过更新GCC版本来解决这一问题。
在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的错误提示。这通常是因为系统中的 libstdc++.so.6 版本过低。为了解决这个问题,可以通过更新 GCC 版本来获取更高版本的 libstdc++.so.6。
以下是详细的解决步骤:
1. 分析问题
首先,检查当前 libstdc++.so.6 文件是否包含所需的 GLIBCXX_3.4.15 符号:
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX_3.4.15
如果返回为空,则说明当前版本确实缺少该符号。接着,查看 libstdc++.so.6 的实际版本:
ls -l /usr/lib/libstdc++.so.6
例如,输出可能显示为:/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.12
。这表明当前版本为 6.0.12,而我们需要的是更高版本。
2. 更新 GCC
为了获取更高版本的 libstdc++.so.6,需要更新 GCC。以下是详细步骤:
2.1 下载 GCC 源码包
可以从官方 FTP 站点下载 GCC 4.8.1 的源码包:
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.bz2
如果网络较慢,也可以在 Windows 上下载后传输到 Linux 系统中。
2.2 解压源码包
tar -jxvf gcc-4.8.1.tar.bz2
2.3 下载编译所需的依赖包
如果系统有网络连接,可以直接运行脚本下载依赖包:
cd gcc-4.8.1
./contrib/download_prerequisites
cd ..
如果没有网络连接,可以在 Windows 上下载以下依赖包并传输到 Linux 系统中:
解压并移动这些依赖包到 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
2.4 创建编译目录并配置
mkdir gcc-build-4.8.1
cd gcc-build-4.8.1
../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
2.5 编译
make -j4
根据系统核心数调整 -j 参数,以加快编译速度。
2.6 安装
sudo make install
3. 更新链接
更新 GCC 后,需要确保新的 libstdc++.so.6 被正确链接。检查 /usr/local/lib 目录下是否有新的 libstdc++.so.6 文件:
ls -l /usr/local/lib/libstdc++.so.6
如果存在,创建新的软链接:
ln -s /usr/local/lib/libstdc++.so.6 /usr/lib/libstdc++.so.6
最后,再次检查 Qt Creator 是否能正常启动:
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX_3.4.15
如果输出包含 GLIBCXX_3.4.15,则问题已解决。