1
我試圖創建一個插件(不適用於Qt創建器), 我創建了一個空項目並添加了以下文件: 但我收到以下錯誤:如何創建插件(Qt 5.2.0)
1. C:\ Qt的\ Qt5.2.0 \ 5.2.0 \ mingw48_32 \包括\ QtCore \ qglobal.h中:666:ERREUR: '的sizeof' 不完全型 'QStaticAssertFailure' 枚舉的無效的應用程序{Q_STATIC_ASSERT_PRIVATE_JOIN( QString PluginTest :: name()const^
PluginTest2.pro(項目名稱)
CONFIG += plugin
TARGET = PluginTest
CONFIG += plugin release
VERSION =1.0.0
TEMPLATE = lib
SOURCES += \
plugintest.cpp
HEADERS += \
Interface.h \
plugintest.h
interface.h
#ifndef INTERFACE_H
#define INTERFACE_H
#include <QString>
class Interface
{
public:
virtual QString name() const =0;
};
Q_DECLARE_INTERFACE(Interface,"interface /1.0.0")
#endif // INTERFACE_H
plugintest.h
#ifndef PLUGINTEST_H
#define PLUGINTEST_H
#include <QObject>
#include <QString>
#include<QtPlugin>
#include "Interface.h"
class PluginTest:public QObject,public Interface
{
Q_OBJECT
Q_INTERFACES(Interface)
public:
PluginTest();
QString name() const;
};
#endif // PLUGINTEST_H
plugintest.cpp
#include "plugintest.h"
PluginTest::PluginTest()
{
}
Q_EXPORT_PLUGIN2(PluginTest,PluginTest)
QString PluginTest::name() const
{
return "pluginTest";
}
問題解決了,非常感謝 –
請問您是如何將此功能添加到Qt Designer中的?我可以編譯你的微不足道的例子,得到一個.so文件,但是Designer沒有看到它。你做了什麼才能真正把它帶入Designer? – DiBosco