Qt错误:类中使用Q_OBJECT宏导致undefined reference to vtable for "xxx::xxx"错误的原因和解决方法

时间:2021-07-25 19:01:20
在进行Qt编程的时候,有时候会将类的定义和实现都写在源文件中,如果同时在该类中使用信号/槽,那么可能就会遇到
undefined reference to vtable for "xxx::xxx"的链接错误,这是因为qmake默认不会处理cpp文件中的 Q_OBJECT导致链
接的时候缺少相应的 moc_xxx.h文件,此时,可以先用moc处理该cpp文件:moc xxx.cpp,然后讲生成的moc_xxx.h文件
包含到cpp文件中,问题就可以解决