运行环境: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的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate
gcc-4.8|tail找一下 我的就直接在usr/local/bin下面,之前是空的!
ls /usr/local/bin |
grep
gcc
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
在路径里面能找到下面的路径文件 update-alternatives --install /usr/bin/gcc gcc
/usr/local/bin/i686-pc-linux-gnu-gcc 40
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)
但是这个错误我现在无法处理,有办法的同学请在下面的评论框中告诉我吧,谢谢。
原文:http://www.cnblogs.com/peter072588/p/3566023.html