Ash*_*iya 3 plugins qt qt4 cmake
问候所有,
我正在尝试使用CMake实现QT插件.但是这个"Q_EXPORT_PLUGIN2"指令阻止我的类编译.如果我对此进行了评论,我可以编译该插件,但如果我这样做,它将无法作为插件工作.
QT doc说:
Q_EXPORT_PLUGIN2 ( PluginName, ClassName )
Run Code Online (Sandbox Code Playgroud)
PluginName的值应该对应于插件的项目文件中指定的TARGET
在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_ */
Run Code Online (Sandbox Code Playgroud)
并实施
#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)
Run Code Online (Sandbox Code Playgroud)
错误消息是:
[12%]构建CXX对象CMakeFiles/RzDL3DView.dir/RzPlugin3DViewerFactory.cpp .obj C:\ svn\osaka3d\trunk\osaka3d\rinzo-platform\src\dlplugins\threedviewer\RzPlugin3 DViewerFactory.cpp:36:错误:预期构造函数,''令牌make [2]:***[CMakeFiles/RzDL3DView.dir/RzPlugin3DViewerFactory.cpp.obj]错误1,析构函数或类型转换
make [1]:*[CMakeFiles/RzDL3DView.dir/all]错误2 make:* [all]错误2
好的,我通过给出Cmake文件中指定的项目名称来解决问题.
项目(RinzoDLPlugin3DViewer CXX C)
所以,现在在CPP文件中
Q_EXPORT_PLUGIN2(RinzoDLPlugin3DViewer , RzPlugin3DViewerFactory)
Run Code Online (Sandbox Code Playgroud)
并包括qpluginh.h
#include <qplugin.h>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |