vs + qt
突然发现程序不能编译
错误提示:
1>ClassName.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall ClassName::metaObject(void)const " ()
1>ClassName.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall ClassName::qt_metacast (char const *)" ()
1>ClassName.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall ClassName::qt_metacall(enum QMetaObject::Call,int,void * *)" ()
关键字:QMetaObject, qt_metacast
原因:
没有找到对应的 moc 文件
结果方案:
将 ClassName的.h .cpp文件从工程中移除,然后再重新加载。
在vs的资源管理器中对应的 Header File 和 Source Files,右键添加文件,只有这两个 Files 列表展开,文件才是添加成功。