You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

已安装对应版本libQt5Core.so但libQt5Concurrent.so无法找到它的问题求助

解决libQt5Concurrent.so找不到libQt5Core.so.5的问题

这问题我之前踩过几次坑,大概率是符号链接缺失导致的,咱们一步步来排查解决:

  • 第一步:确认符号链接是否存在
    先看看/lib目录下有没有带版本后缀的Qt5Core库链接,执行命令:

    ls -l /lib/libQt5Core.so*
    

    正常情况下应该能看到类似这样的输出(版本号可能不同):

    lrwxrwxrwx 1 root root       19 Aug  1 10:00 libQt5Core.so -> libQt5Core.so.5.12.8
    lrwxrwxrwx 1 root root       19 Aug  1 10:00 libQt5Core.so.5 -> libQt5Core.so.5.12.8
    -rwxr-xr-x 1 root root 5987456 Aug  1 10:00 libQt5Core.so.5.12.8
    

    如果你的输出里只有libQt5Core.so,没有.so.5的符号链接,那这就是问题根源了。

  • 第二步:手动创建符号链接
    直接基于已有的libQt5Core.so创建指向.so.5的链接:

    sudo ln -s /lib/libQt5Core.so /lib/libQt5Core.so.5
    

    要是你知道具体的版本文件(比如libQt5Core.so.5.x.x),也可以直接指向它,这样更规范:

    sudo ln -s /lib/libQt5Core.so.5.12.8 /lib/libQt5Core.so.5
    
  • 第三步:刷新动态链接库缓存
    创建完链接后,得让系统更新动态库索引,执行:

    sudo ldconfig
    
  • 第四步:验证修复效果
    再运行ldd /lib/libQt5Concurrent.so,这时候应该就能正常找到libQt5Core.so.5了。

另外补充个小排查点:虽然从ldd输出看都是i386架构,但如果实在还是不行,可以确认下两个库的架构是否一致,执行:

file /lib/libQt5Core.so /lib/libQt5Concurrent.so

输出里应该都显示ELF 32-bit LSB shared object,要是架构不一样,那得重新安装对应架构的库。

内容的提问来源于stack exchange,提问作者krojew

火山引擎 最新活动