发布时间:2022-08-09 文章分类:编程知识 投稿人:李佳 字号: 默认 | | 超大 打印


QT发布中遇到的问题


分类:
qt


8人阅读
评论(0)
收藏
举报

最近开始研究qt,不可避免的就要碰到qt的发布。书上面的例子不包括这一部分,网上这方面资料很多(其实仔细看看就是qt自带assistant里面翻译过来的,所以有问题还是先查阅assistant)

一篇可以参考的qt在x11平台的发布

http://blog.sina.com.cn/s/blog_7a9ade2c0100vcfh.html

先尝试动态编译,从一台虚拟机(ubuntu)中生成了运行文件,然后拷贝到了另外一台虚拟机中(red hat),把所需要的文件也拷贝到运行文件所在目录,再运行sh文件,显示QT发布中遇到的问题  wufan的专栏  博客频道  CSDN.NET

[html] view plaincopyprint?

  1. errorwhileloadingsharedlibraries:libQtCore.so.4:cannotopensharedobjectfile

输入ls指令,明明我已经把so文件拷贝进去了啊,这是为什么呢?

QT发布中遇到的问题  wufan的专栏  博客频道  CSDN.NET

再重新查阅资料,了解到可以利用ldd指令来查看依赖关系,那就试试吧

可以发现

version ' GLIBC_2.9' not found (required by ./libQtCore.so.4)

QT发布中遇到的问题  wufan的专栏  博客频道  CSDN.NET

原来是由于两个操作系统版本差异过大,对应的系统libc链接库不一样,导致qt库文件无法加载,自然我们的测试程序也无法运行了。(这里还可以拓展了解下libc 和gcc 之间的关系)

2个系统的libc版本为

ubuntu 2.12

QT发布中遇到的问题  wufan的专栏  博客频道  CSDN.NET

red hat 2.5

QT发布中遇到的问题  wufan的专栏  博客频道  CSDN.NET

解决方案:

1.动态编译,尽量在同一版本下的linux系统中运行(留给下午,因为要创建一个新虚拟机)

2.尝试使用静态编译。(这个留给下午做)

3.提升当前虚拟机中的glibc版本(似乎也很麻烦。。。)

提升glibc 一篇可以参考的博文

http://blog.csdn.net/xlsp/article/details/6395993