qt4.8.5 与 redhat6.4 安装实践(总结)

来源:互联网 发布:python搜索引擎 框架 编辑:程序博客网 时间:2024/06/03 19:55
0:安装qtcreator-3.0.1,发现“出现/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found“的问题
原因在于libstdc++.so.6的版本过低,需要下载个新版本的lib文件重新建立软连接。 下载最新版glibc-2.18.tar.gz  升级方法参考如下:
由于其他软件需要更高级的glibc 所以升级如下 :
如下所示:
linux 执行strings /usr/lib/libstdc++.so.6 | grep GLIBC
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
返回结果没有GLIBCXX_3.4.9,故会出现此报错。
执行ls -l /usr/lib/libstdc++.so.6
可发现/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8,其实这里需要使用的是libstdc++.so.6.0.13!!!!!!
从网上下载这个文件libstdc++.so.6.0.13,下载地址为http://115.com/file/bejrak1u把libstdc++.so.6.0.1这个资源放到/usr/lib文件夹下,然后删除/usr/lib/libstdc++.so.6,重新生成新的lib文件链接,执行如下命令:
ln -s /usr/lib/libstdc++.so.6.0.13 /usr/lib/libstdc++.so.6,重新测试,OK
可以输入strings /usr/lib/libstdc++.so.6 | grep GLIBC查看结果如下:
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
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.1
GLIBC_2.3.4
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
 希望大家用QT做出实用好看的界面。


1:编译出错(什么错已经忘了,没有做好记录),导致安装出错,只能安装部分文件。其中一个错为“Qt4.8.5编译X86出错:/usr/include/linux/futex.h:96: 错误:‘u32’ 在此作用域中尚未声明  ”
解决方法:
使用gmake编译前需要修改/usr/include/linux/futex.h:
 (1)在第4行前插入下面内容:
        #include <linux/types.h>
 (2)替换第96行至100行之间的“u32”为“__u32”,行数不一定是96-100,把这个改一下就行了,u32前面是两个下划线__,而不是一个_


long do_futex(u32 *uaddr, int op, u32 val, unsigned long timeout,
                u32 *uaddr2, u32 val2, u32 val3);
 extern int
handle_futex_death(u32 *uaddr, struct task_struct *curr, int pi);

2:无奈只能删除编译的的文件,重新编译(错误没有记录),发现gcc的版本太低,系统版本为4.4左右,安装4.8.2gcc


3:安装gcc需要先安装GMP(gmp-5.0.1)、MPFR( mpfr-3.1.2)、MPC(mpc-0.9)三个文件:安装方法参照  http://blog.csdn.net/wfdtxz/article/details/7345541


4:安装成功。
0 0