QT链接其他项目的C++文件报链接错误
BUG
1>LogRecord.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __cdecl LogRecord::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@LogRecord@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
1>LogRecord.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __cdecl LogRecord::qt_metacast(char const *)" (?qt_metacast@LogRecord@@UEAAPEAXPEBD@Z)
1>LogRecord.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl LogRecord::metaObject(void)const " (?metaObject@LogRecord@@UEBAPEBUQMetaObject@@XZ)
在询问AI时如果AI给出的解决方案出错,应该让AI只提供出错原因,自己去拆解
询问AI发现这个链接错误是由于Qt的元对象系统(Meta-Object System)在链接阶段无法找到LogRecord类的元对象信息造成的
Qt元对象系统(MOC)相关的类成员函数实现缺失
并没有moc_LogRecord.obj,如何生成呢?
检查生成了的文件的属性,如下,发现自己的LogRecord文件的类型是c++文件,修改为这种类型,bug解决