qt 打包发布时报错:$ ./copylib.sh libqxcb.so./libqxcb.so: /lib64/libQt5Core.so.5: version `Qt_5.1

16 篇文章 0 订阅

一、问题描述

在执行qt 发布打包时,其中总是报

./libqxcb.so: /lib64/libQt5Core.so.5: version `Qt_5.14' not found (required by ./libqxcb.so)

讨厌的很,修改临时配置文件根本不起作用

二、解决过程

后来尝试/etc/ld.so.conf解决

[admin@dev platforms]$ ./copylib.sh libqxcb.so
./libqxcb.so: /lib64/libQt5Core.so.5: version `Qt_5.14' not found (required by ./libqxcb.so)
 

将qt 所在的路径  加到 /etc/ld.so.conf中  再执行sudo Idconfig 生效

[root@dev etc]# vi ld.so.conf

[root@dev etc]# sudo ldconfig
[root@dev etc]#

 centos7 上

三、补充说明

这里补充一下:

 sudo idconfig 非常重要,要不然不生效,centos 7与centos stream9 都会报错,

四、centos stream 9 上实操部分截图

[root@localhost platforms]# ./copylib.sh libqxcb.so
cp: 无法获取'/libqxcb.so:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/lib64/libQt5XcbQpa.so.5:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'version' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'`Qt_5_PRIVATE_API'\''' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'not' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'found' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'(required' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'by' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'./libqxcb.so)' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/libqxcb.so:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/lib64/libQt5Gui.so.5:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'version' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'`Qt_5_PRIVATE_API'\''' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'not' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'found' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'(required' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'by' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'./libqxcb.so)' 的文件状态(stat): 没有那个文件或目录
[root@localhost platforms]# chmod 777 copylib.sh 
[root@localhost platforms]# ./copylib.sh libqxcb.so
mkdir: 无法创建目录 “/root/桌面/public/public/platforms/lib”: 文件已存在
cp: 无法获取'/libqxcb.so:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/lib64/libQt5XcbQpa.so.5:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'version' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'`Qt_5_PRIVATE_API'\''' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'not' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'found' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'(required' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'by' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'./libqxcb.so)' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/libqxcb.so:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/lib64/libQt5Gui.so.5:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'version' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'`Qt_5_PRIVATE_API'\''' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'not' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'found' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'(required' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'by' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'./libqxcb.so)' 的文件状态(stat): 没有那个文件或目录
[root@localhost platforms]# ./copylib.sh libqxcb.so
mkdir: 无法创建目录 “/root/桌面/public/public/platforms/lib”: 文件已存在
cp: 无法获取'/libqxcb.so:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/lib64/libQt5XcbQpa.so.5:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'version' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'`Qt_5_PRIVATE_API'\''' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'not' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'found' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'(required' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'by' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'./libqxcb.so)' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/libqxcb.so:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'/lib64/libQt5Gui.so.5:' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'version' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'`Qt_5_PRIVATE_API'\''' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'not' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'found' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'(required' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'by' 的文件状态(stat): 没有那个文件或目录
cp: 无法获取'./libqxcb.so)' 的文件状态(stat): 没有那个文件或目录
[root@localhost platforms]# 

   centos stream 9上执行时报的错。

                          配置生效命令

    配置生效后,再执行很安静,没有报错了,到lib下找类库,马发现很多

 

  将这些类库copy 放到正在发布的qt的根目录下即可

   以上是 centos stream9 上执行的过程

 五、总结:

      经过分析,libqxcb.so依赖库应该从qt安装目录下查找,错误提示信息中显示搜索路径为系统库目录,因此可以肯定是搜索路径的问题,因此需要添加环境变量,修改ld.so.config文件

在这里插入图片描述

修改后生效使用命令

再执行打包的命令时就可以了

重点是:/etc/ld.so.conf  中将自己机器的qt 路径放上去

本机QT路径是在:/opt/Qt5.14.1/5.14.1/gcc_64,所以,上面的配置为
**/lib  
**/plugins/platforms

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值