如何从另一个插件访问插件中的类

时间:2017-03-16 22:25:06

标签: c++ qt plugins

我有两个插件:

public:
    RevPersist(QWidget *parent = 0);


class PluginA;

class PluginA :
        public QWidget,

        public MyInterface
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "com.rev.PluginA" FILE "plugina.json")
    Q_INTERFACES(MyInterface)

public:
    PluginA(QWidget *parent = 0);
#include "pluginA/plugina.h"

class PluginB;

class PluginB :
        public QWidget,

        public MyInterface
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "com.rev.PluginB" FILE "pluginb.json")
    Q_INTERFACES(MyInterface)

private:
    PluginA *pluginA;

正如您所看到的,我尝试从PluginB访问PluginA。但是,我得到以下错误:

../plugina/plugina.cpp: In constructor PluginA::PluginA(QWidget*)’:
../plugina/plugina.cpp:16:20: error: PluginA does not name a type
     pluginA(new PluginA)
                    ^~~~~~~~~~~~

这是 pluginb.cpp

PluginB::PluginB(QWidget *parent) :

    pluginA(new PluginA)

{
    Q_INIT_RESOURCE(myresources);

如何从另一个插件访问插件中的类?我已经将plugina作为库添加到pluginb中。

提前谢谢大家。

0 个答案:

没有答案