运行环境:Red hat 6.4
去官网下载qt5.2并且安装
当启动的时候会出现如下错误
核心载入失败: /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins/QtProject/libCore.so: 无法加载库/opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins/QtProject/libCore.so:(/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plugins/QtProject/../.././libQt5CLucene.so.5))
这是因为没有更新gcc造成的,我用yum install gcc gcc-c++ 后gcc -v的版本才4.47所以要更新gcc
注意:
A如果你没yum install gcc gcc-c++安装gcc 你直接进行下面的操作你会报错
B同时下面的错误还有一个就是第四部->编译的时候,如果你不知道你系统是几核心的,最好不要加-4j,否则也会报错
1.下载源码包
用网页进入 http://ftp.gnu.org/gnu/gcc/下载最新的gcc软件包->我习惯下载.tar.gz的最新数据包 当时我下载的是gcc-4.8.2.tar.gz (或者用shell终端下载tar.bz2文件包 ->wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2)
解压:tar -zxvf gcc-4.8.2.tar.gz (如果你之前下载的是.tar.bz2请输入tar -jxvf gcc-4.8.0.tar.bz2)
2.下载编译所需依赖库
cd gcc-4.8.2
./contrib/download_prerequisites
3.生成makefile文件 ./configure --prefix=/usr/local/gcc-4.8 --enable-checking=release --enable-languages=c,c++ --disable-multilib
4.编译
make -j4 -j4代表4核心全部进行
如果编译成功,则时间是比较长的,半个小时左右,所以如果你看它一直在输出没有立刻停下来,应该很开心!
5.安装我之前没有加sudo安装失败,在/usr/local/bin下找不到安装的文件,我系统模式就是root
sudo make install
6.切换GCC到新版
移除旧版本
对旧版本gcc做备份:
mv /usr/bin/gcc /usr/bin/gcc-back
创建新连接文件:
ln usr/local/gcc-4.8/bin/gcc /usr/bin/gcc
7.确认当前版本已经切换为新版
gcc -v
8. 用/usr/local/lib 下的libstdc++.so.6替换/usr/lib下的libstdc++.so.6
或者自己建立软链接
ln -s /usr/local/lib/libstdc++.so.6.0.18 /usr/lib/libstdc++.so.6
9. 最好重启下
还有一个问题,这样之后可以启动qt,但是你在终端中启动你会发现它还是会报错,报错如下
QString::arg: Argument missing: 无法解析dbus_connection_can_send_type中的符号“dbus_connection_can_send_type”:dbus-1, (/lib/libdbus-1.so.3: undefined symbol: dbus_connection_can_send_type)
但是这个错误我现在无法处理,有办法的同学请在下面的评论框中告诉我吧,谢谢。