插件接口设计
以a+b=c的接口为例:int add(int a, int b)
在 主项目 工程中创建接口文件(一个头文件)eg:Add.h
#ifndef ADD_H
#define ADD_H
#include <QtPlugin>
class Add
{
public:
virtual int add(int a, int b)= 0;//纯虚函数
};
Q_DECLARE_INTERFACE(Add, "org.qt-project.Qt.QGenericPluginFactoryInterface")
#endif // ADD_H
使用插件接口
在项目中对插件接口的使用
int a, b, eq;
QPluginLoader loader("D:/2-software/qt/qt5.6/5.6/mingw49_32/plugins/generic/plugin.dll");
if (loader.load())
{
qDebug()<<"loader load OK!";
QObject *obj = loader.instance();
if (obj)
{
qDebug()<<"obj OK