Qt undefined reference to `vtable for xxx‘

一、问题背景

在编译QT代码时,出现 undefined reference to xxx::entered(),通过鼠标双击QtCreator“问题栏”中的该行,则会跳转到发送信号的代码所在行。与上述代码一同出现在“问题栏”的还有 undefined reference to `vtable for xxx’。

二、问题分析

qmake不会处理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的话,也会产生undefined reference to vtable for “xxx::xxx”。这时需要先用 moc xxxx.cpp 生成相应的moc文件,再包含到.cpp里面去

三、解决方案

在.cpp文件最后加#include “moc_xxx.cpp”

你可能感兴趣的:(Qt,从入门到精通,qt,Q_OBJECT,vtable)