undefined reference to "vtable for xxx"
??創(chuàng)建新的class時,可能會出現(xiàn)undefined reference to "vtable for xxx"這種錯誤提示脆荷,我為了多線程而創(chuàng)建了另一個類來使用的時候,就出現(xiàn)了這問題,說說我的解決步驟吧:
- 審視一下自己的語句有沒有錯誤傍睹,我查書抄下的代碼棺牧,除了名字(Network)不同以外巫糙,其他都是一致的。
network.h
#include <QThread>
#include <QObject>
class Network : public QThread
{
Q_OBJECT
public:
explicit Network(QObject *parent = 0);
};
network.cpp
#include "network.h"
Network::Network(QObject * parent) :
QThread(parent)
{}
- 看一下.pro文件有沒有包含所需的東西颊乘,它需要QT+=core曲秉,但是明顯我已經(jīng)有了采蚀。
幫助->索引->搜索QThreat
- 然后我突然發(fā)現(xiàn)一個問題,它這里寫著繼承QOject類承二,需要的時QThead頭文件榆鼠,那我包含QOject是不是把它覆蓋了?
然后我就把QOject刪掉亥鸠,然后就成功了妆够!
刪除前,編譯錯誤
刪除后负蚊,完美通過
- 還遇到一種情況是神妹,改了別的名字,比如開頭大小寫改了這樣家妆,那還是最好還是刪了原來的鸵荠,重新創(chuàng)建一個class,我試過伤极,能成蛹找!
總結(jié):看看是否有包含了父類而把子類覆蓋掉的情況,刪掉父類試試哨坪!
我的QT版本