[Solved] QT error: error: undefined reference to ` VTable`

Question:

QT compilation error:

error: undefined reference to `vtable ...`

 

reason:

1.Qt uses signals and slots to implement communication features.
2.Signals and slots can be used when the class is derived from QObject and the Q_OBJECT macro is added to the header file.
3.When Q_OBJECT is added to the class header file QtCreator will automatically create a moc_***.cpp file that implements the code for signal and slot communication.
4.However, sometimes when we create a class through QtCreator without selecting the IDE option to derive it from the QObject class, but add it later, QtCreator will not automatically create the moc_***.cpp file. In this case it will report an error: undefined reference to `vtable for ***.

 

Solution:

According to various online methods, it can not be solved, nor can rebuild
mine is a small project. Just delete the build-XXX folder and rebuild it.

Read More: