LNK2019

2023-07-19  本文已影响0人  雯饰太一

错误如下:

错误 3 error LNK2019: 无法解析的外部符号 "public: static struct QMetaObject const SimDataReceive::staticMetaObject" (?staticMetaObject@SimDataReceive@@2UQMetaObject@@B),该符号在函数 "public: static class QMetaObject::Connection __cdecl QObject::connect<void (__thiscall SimDataReceive::*)(char const *,void const ,unsigned int),void (__thiscall EarthViewManager::)(char const *,void const *,unsigned int)>(class SimDataReceive const ,void (__thiscall SimDataReceive::)(char const *,void const *,unsigned int),class EarthViewManager const ,void (__thiscall EarthViewManager::)(char const *,void const *,unsigned int),enum Qt::ConnectionType)" (??$connect@P8SimDataReceive@@AEXPBDPBXI@ZP8EarthViewManager@@AEX01I@Z@QObject@@SA?AVConnection@QMetaObject@@PBVSimDataReceive@@P83@AEXPBDPBXI@ZPBVEarthViewManager@@P84@AEX12I@ZW4ConnectionType@Qt@@@Z) 中被引用 D:\workplace\sstftyrunner_0419\src\SSTFTY\GtEarthMgrPlugin\earth_view_manager.obj GtEarthMgrPlugin

备注:

没有生成moc文件,只要继承了Qobject类,添加了Q_OBJECT宏之后,就应当会生成一个moc_XXX.cpp的文件,该文件实现了QObject的一些基础类,如果没有该文件,就会报上述错误;

解决方案:将对应的.h.cpp文件移除后重新添加到工程中,将自动生成moc文件,如果这个类有对应的.ui文件可以直接对该.ui文件进行编译,同样可以生成moc文件;

如果移除之后重新添加,还是不可以,干脆直接重建整个工程吧。换言之,项目构建之初,能编译通过的时候,一定要做好备份。

上一篇下一篇

猜你喜欢

热点阅读