以下是出错信息:
addentity.obj : error LNK2001: 无法解析的外部符号 "public: virtual bool __thiscall addEntity::qt_property(int,int,class QVariant *)" (?qt_property@addEntity@@UAE_NHHPAVQVariant@@@Z)
addentity.obj : error LNK2001: 无法解析的外部符号 "public: virtual bool __thiscall addEntity::qt_emit(int,struct QUObject *)" (?qt_emit@addEntity@@UAE_NHPAUQUObject@@@Z)
addentity.obj : error LNK2001: 无法解析的外部符号 "public: virtual bool __thiscall addEntity::qt_invoke(int,struct QUObject *)" (?qt_invoke@addEntity@@UAE_NHPAUQUObject@@@Z)
addentity.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall addEntity::qt_cast(char const *)" (?qt_cast@addEntity@@UAEPAXPBD@Z)
addentity.obj : error LNK2001: 无法解析的外部符号 "public: virtual char const * __thiscall addEntity::className(void)const " (?className@addEntity@@UBEPBDXZ)
addentity.obj : error LNK2019: 无法解析的外部符号 "public: static class QMetaObject * __cdecl addEntity::staticMetaObject(void)" (?staticMetaObject@addEntity@@SAPAVQMetaObject@@XZ) ,该符号在函数 "public: virtual class QMetaObject * __thiscall addEntity::metaObject(void)const " (?metaObject@addEntity@@UBEPAVQMetaObject@@XZ) 中被引用
debug\secconfig_d.exe : fatal error LNK1120: 6 个无法解析的外部命令
为了能写slot我在 addentity.h的开始使用了宏Q_OBJECT,如下:
class addEntity : public addUserForm
{
Q_OBJECT
public:
addEntity(/*const secconfig::SecurityPtr& sec */);
~addEntity();
如果不加Q_OBJECT的话,就可以通过。不过不能用slot