Привет всем,Плагин QT с CMake
Я пытаюсь внедрить плагин QT с CMake. Но эта директива «Q_EXPORT_PLUGIN2» останавливает мой класс от компиляции. Я могу скомпилировать плагин, если я прокомментировал это, но он не будет работать как плагин, если я это сделаю.
QT док говорит:
Q_EXPORT_PLUGIN2 (PluginName, ClassName)
The value of PluginName should correspond to the TARGET specified in the plugin's project file
насчет в CMake случае? Какая должна быть ценность для «PluginName»?
Вот мой плагин Интерфейс:
#ifndef RZPLUGIN3DVIEWERFACTORY_H_
#define RZPLUGIN3DVIEWERFACTORY_H_
#include <QObject>
#include "plugin/IRzPluginFactory.h"
class RzPlugin3DViewerFactory :public QObject,public IRzPluginFactory{
Q_OBJECT
Q_INTERFACES(IRzPluginFactory)
private:
QString uid;
public:
RzPlugin3DViewerFactory();
virtual ~RzPlugin3DViewerFactory();
IRzPlugin* createPluginInstance();
IRzPluginContext* createPluginContextInstance();
QString & getPluginUID();
};
#endif /* RZPLUGIN3DVIEWERFACTORY_H_ */
И реализация
#include "RzPlugin3DViewerFactory.h"
#include "RzPlugin3DViewer.h"
RzPlugin3DViewerFactory::RzPlugin3DViewerFactory() {
uid.append("RzPlugin3DView");
}
RzPlugin3DViewerFactory::~RzPlugin3DViewerFactory() {
// TODO Auto-generated destructor stub
}
IRzPlugin* RzPlugin3DViewerFactory::createPluginInstance(){
RzPlugin3DViewer *p=new RzPlugin3DViewer;
return p;
}
IRzPluginContext* RzPlugin3DViewerFactory::createPluginContextInstance()
{
return NULL;
}
QString & RzPlugin3DViewerFactory::getPluginUID()
{
return uid;
}
Q_EXPORT_PLUGIN2(pnp_extrafilters, RzPlugin3DViewerFactory)
Сообщение об ошибке является:
[ 12%] Building CXX object CMakeFiles/RzDL3DView.dir/RzPlugin3DViewerFactory.cpp .obj C:\svn\osaka3d\trunk\osaka3d\rinzo-platform\src\dlplugins\threedviewer\RzPlugin3 DViewerFactory.cpp:36: error: expected constructor, destructor, or type conversi on before '(' token make[2]: *** [CMakeFiles/RzDL3DView.dir/RzPlugin3DViewerFactory.cpp.obj] Error 1
make[1]: * [CMakeFiles/RzDL3DView.dir/all] Error 2 make: * [all] Error 2
Что такое сообщение об ошибке? –
К сожалению, сообщение об ошибке [12%] Строительство CXX объекта CMakeFiles/RzDL3DView.dir/RzPlugin3DViewerFactory.cpp .obj C: \ SVN \ osaka3d \ ствол \ osaka3d \ rinzo платформа \ SRC \ dlplugins \ threedviewer \ RzPlugin3 DViewerFactory.cpp: 36: ошибка: ожидается, конструктор, деструктор, или введите Конверси на перед '(' лексем марки [2]: *** [CMakeFiles/RzDL3DView.dir/RzPlugin3DViewerFactory.cpp.obj] Error 1 make [1]: *** [CMakeFiles/RzDL3DView.dir/all] Ошибка 2 make: *** [all] Ошибка 2 –