【问题标题】:QT Plugin InterdependencyQT 插件相互依赖
【发布时间】:2015-08-29 19:51:26
【问题描述】:

我的应用程序中的一些插件有问题,我有一个主项目,它加载了一组插件,以便考虑它们的依赖关系。但是,当我有一个依赖于另一个插件的插件时,我似乎遇到了一些符号链接错误。

插件的实际加载:

 QPluginLoader pluginLoader(itor->PluginPath);
 QObject *tempPlugin = pluginLoader.instance();

插件一(先加载):

#include "PluginInterface.h"
class NewWizardPlugin: public PluginInterface
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "Code.PluginInterface" FILE "NewViewPlugin.json")
Q_INTERFACES(PluginInterface)
public:
NewWizardPlugin();

  virtual ~NewWizardPlugin();
};

插件二:

#include "PluginInterface.h"
#include "NewWizardPlugin.h"
class newStandardSubwizard: public PluginInterface
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "Code.PluginInterface" FILE "New_standard_subwizard.json")
Q_INTERFACES(PluginInterface)
public:

  newStandardSubwizard();

  virtual ~newStandardSubwizard();
};

第二个插件链接到第一个插件的库

我有一些跟踪并且知道它们被加载的顺序是正确的,但是使用 QPluginLoader 类上的 errorString() 函数我知道存在符号链接错误。

有人有什么想法吗?

【问题讨论】:

    标签: c++ qt dynamic plugins


    【解决方案1】:

    已修复 - 我没有更新 LLD_LIBARY_PATH 以包含动态对象的目录,因此链接器无法找到它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 2011-01-25
      • 2016-07-22
      • 2014-01-15
      相关资源
      最近更新 更多