peter072588  

运行环境: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)

 

但是这个错误我现在无法处理,有办法的同学请在下面的评论框中告诉我吧,谢谢。

posted on 2014-02-25 09:38  peter072588  阅读(999)  评论(0编辑  收藏  举报