qt5 plugin

官方写法:http://doc.qt.io/qt-5/plugins-howto.html
qt5软件-示例-搜索plugin里面很多不再赘述。
环境win10_64bit+Qt5.6.2MinGW
plugin遇到的错误:
qt5 plugin_第1张图片
以qt5 示例 echoplugin来说明这个错误

class EchoInterface
{
public:
    virtual ~EchoInterface() {}
    //=0很重要,如果不=0debug模式无法解析该函数,release正常
    //virtual void fun(){}  <-void类型需要实现不然一样无法解析。
    virtual QString echo(const QString &message) = 0;
};

//! [0]
class EchoPlugin : public QObject, EchoInterface
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.Examples.EchoInterface" FILE "echoplugin.json")
    Q_INTERFACES(EchoInterface)

public:
    QString echo(const QString &message) Q_DECL_OVERRIDE;
};
//! [0]

当EchoPlugin 类中没有完全实现EchoInterface类中的虚函数就会报错,注意连const之类的关键字也要一样。
qt5 plugin_第2张图片

下面是使用中错误
这里写图片描述
提示找不到SqliteClass.dll(此为自定义的plugin) 路径什么的都是对的,后来发现是SqliteClass模块中依赖别的库没有复制到当前路径下,所以提示找不到指定程序,很迷惑的提示。

你可能感兴趣的:(Qt5)