1. 程式人生 > >undefined reference to `vtable for’”問題的原因及解決方法

undefined reference to `vtable for’”問題的原因及解決方法

QT中,類要支援訊號與槽機制,需要繼承自QObject並在標頭檔案開頭新增Q_OBJECT巨集. 
如果使用QtCreator建立類時,沒有選擇繼承自QObject類或其子類,而在建立後手工修改繼承自QObject並手工新增Q_OBJECT巨集,則在編譯時有可能會出現”undefined reference to `vtable for’…….”錯誤.

解決方法: 把新建立的類從專案中移除(主要不要從磁碟上刪除),然後再新增進功能,QtCreator就會重新解析此類,再編譯就不再會出現上述錯誤.