yutianzhijie 2021-04-07 17:33 采纳率: 100%
浏览 71
已采纳

QT中使用QMap导致该so无法被QLibrary加载

在类中声明QMap类型静态变量,并且在方法中使用该变量时,这个类所在的so库,无法被动态加载

类的声明如下:

class PluginManager
{
public:

    PluginManager();
public:
    static IDevicePlugin* GetPlugin(QString type,QString deviceId);
private:

    // static PluginManager* inst;
    static void LoadPlugin(QString deviceLibName);
    static void InitPlugin(QString type,IDevicePlugin &devicePlugin);
    static QMap<QString, IDevicePlugin*> pluginMap1;
};

共有三个工程

1.主工程

2.DHSocket

3.DHCore

 

加载顺序如下:

主工程通过QLibrary.load加载DHSocket库,SHSocket依赖DHCore库

目前加载DHSocket库时报错 ,无法打开共享对象文件: 没有那个文件或目录

在DHCore库中PluginManager去掉QMap声明后正常

  • 写回答

2条回答 默认 最新

  • 有问必答小助手 2021-04-09 17:16
    关注

    你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,便于技术专家团更好地理解问题,并给出解决方案。

    您可以点击问题下方的【编辑】,进行补充修改问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?