Unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Parent
You should delete the debug
folder of your application and run it again to correct this problem.
If you're using Visual Studio, delete the line Q_OBJECT
from the header file, save the file, put Q_OBJECT
back into the header file, save the file again. This should generate the moc_*
file and should build and link correctly.
I noticed some answers are based on Visual Studio.
This answer is based on Qt Creator.
Unlike the name suggest, Rebuild Project
will not wipe out everything and build from scratch. If you recently added QObject
(and/or Q_OBJECT) to your class, you'll have to run qmake
again, e.g.
- Clean Project
- Run qmake
- Build Project
This is because, by default, qmake
only runs when you do significant changes to your solution like adding new source files or modify the .pro
file. If you make edits to an existing file, it doesn't know it needs to run qmake
.
As a fall back, to brute force Qt to build everything from scratch, delete the Debug
or Release
folder.