Q_DECLARE_INTERFACE 用于插件创建到处都抛出错误

Q_DECLARE_INTERFACE for plugin creation throws errors all over

环境:

我想开发一个可以通过插件扩展的应用程序。因此,我创建了一个标准库项目,我想在其中定义插件接口。然后该库应由主应用程序及其插件使用。

在官网上看到了Qt插件系统的介绍,并通​​过duckduckgo-ing寻求帮助,但一直卡在以下错误中:

这是代码:

#ifndef VCCPLUGIN_H
#define VCCPLUGIN_H

#include "VccPluginInterface_global.h"

class VCCPLUGININTERFACE_EXPORT VccPlugin
{
public:
    VccPlugin();
    ~VccPlugin();
    void DoeEenTwuk();
};

#define VccPlugin_iid "automation.general.vcc.interface"

Q_DECLARE_INTERFACE(VccPlugin, VccPlugin_iid);

#endif // VCCPLUGIN_H

另请注意,我对 C++ 和 Qt 都没有什么经验。

非常感谢任何帮助, 谢谢

我找到问题了。问题是编译器找不到宏,所以我只需要添加:

#include <QtPlugin>

因为Q_DECLARE_INTERFACE是在QtPlugin中定义的。您的示例没有导入 QtPlugin,但可能是由另一个导入隐式导入的,可能是 QMainWindow。

如果你问我“找不到符号Q_DECLARE_INTERFACE”这样的错误,事情会更简单。特别是因为我对这个话题很忧郁。

感谢@NgocMinhNguyen 等人的支持