在Qt中,undefined reference to ‘vtable for ** 通常出現在打開了宏 Q_OBJECT的程式當中。
原因分析:qmake 不會處理.cpp文件裏的Q_OBJECT,所以,如果在.cpp文件中有它的話,會產生undefined reference to vtable for “xxx::xxx”. 的錯誤
生成moc是根據Makefile來的,而Makefile是由pro文件來的,在pro文件中找問題。
解決方案:
在pro文件中加入moc 轉化文件的路徑。
即加入:
MOC_DIR = temp/moc