QT发布中遇到的问题
分类:
qt
2012-04-05 11:15
8人阅读
评论(0)
收藏
举报
最近开始研究qt,不可避免的就要碰到qt的发布。书上面的例子不包括这一部分,网上这方面资料很多(其实仔细看看就是qt自带assistant里面翻译过来的,所以有问题还是先查阅assistant)
一篇可以参考的qt在x11平台的发布
http://blog.sina.com.cn/s/blog_7a9ade2c0100vcfh.html
先尝试动态编译,从一台虚拟机(ubuntu)中生成了运行文件,然后拷贝到了另外一台虚拟机中(red hat),把所需要的文件也拷贝到运行文件所在目录,再运行sh文件,显示
- errorwhileloadingsharedlibraries:libQtCore.so.4:cannotopensharedobjectfile
输入ls指令,明明我已经把so文件拷贝进去了啊,这是为什么呢?
再重新查阅资料,了解到可以利用ldd指令来查看依赖关系,那就试试吧
可以发现
version ' GLIBC_2.9' not found (required by ./libQtCore.so.4)
原来是由于两个操作系统版本差异过大,对应的系统libc链接库不一样,导致qt库文件无法加载,自然我们的测试程序也无法运行了。(这里还可以拓展了解下libc 和gcc 之间的关系)
2个系统的libc版本为
ubuntu 2.12
red hat 2.5
解决方案:
1.动态编译,尽量在同一版本下的linux系统中运行(留给下午,因为要创建一个新虚拟机)
2.尝试使用静态编译。(这个留给下午做)
3.提升当前虚拟机中的glibc版本(似乎也很麻烦。。。)
提升glibc 一篇可以参考的博文
http://blog.csdn.net/xlsp/article/details/6395993