编译错误:
1>alpainteditem.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl ALPaintedItem::metaObject(void)const " (?metaObject@ALPaintedItem@@UEBAPEBUQMetaObject@@XZ)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl ALPaintedItem::metaObject(void)const " (?metaObject@ALPaintedItem@@UEBAPEBUQMetaObject@@XZ)
1>alpainteditem.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __cdecl ALPaintedItem::qt_metacast(char const *)" (?qt_metacast@ALPaintedItem@@UEAAPEAXPEBD@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __cdecl ALPaintedItem::qt_metacast(char const *)" (?qt_metacast@ALPaintedItem@@UEAAPEAXPEBD@Z)
1>alpainteditem.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __cdecl ALPaintedItem::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@ALPaintedItem@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __cdecl ALPaintedItem::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@ALPaintedItem@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: static struct QMetaObject const ALPaintedItem::staticMetaObject" (?staticMetaObject@ALPaintedItem@@2UQMetaObject@@B)
1>E:\text_qml\x64\Debug\\text_qml.exe : fatal error LNK1120: 4 个无法解析的外部命令
二种解决方法:
1.暂时解决方法
cmd 运行到 QT 安装目录C:\Qt\Qt5.5.1\5.5\msvc2013_64\bin
运行命令:
将会在工程目录产生一个文件 moc_alpainteditem.cpp
拷贝moc_alpainteditem.cpp 文件到 E:\text_qml\text_qml\GeneratedFiles\Debug
2.永久解决方法
a、右键alpainteditem.h,选择属性,选择自定义生成工具,点击自定义生成工具,配置里面属性
(复制qtquick2applicationviewer.h的配置信息就可以)