我想寫,基本上就像indianwebproxy未定義引用的vtable爲...
HTTP代理所以我解僱了qtcreator和,但我的課之一未能與臭名昭著的錯誤編譯:undefined reference to vtable for HttpProxyThreadBrowser
。我無法弄清楚爲什麼要這樣做。我閱讀了Stackoverflow上的類似問題,顯然the problem is with undefined virtual methods that are not pure但我沒有聲明任何虛函數。這裏是我的類
class HttpProxyThreadBrowser : public QThread
{
public:
HttpProxyThreadBrowser(QTcpSocket outgoingSocket,QTcpSocket browserSocket,QObject *parent = 0);
~HttpProxyThreadBrowser(){};
void run();
private:
QTcpSocket outgoingSocket;
QTcpSocket browserSocket;
};
而且我在這裏pastebin定義類,所以不會來煩你。不幸的是我無法找出爲什麼vtable是未定義的。請協助。
httpproxythreadbrowser.cpp:5: undefined reference to `vtable for HttpProxyThreadBrowser
collect2: ld returned 1 exit status
根據[文檔](http://qt-project.org/doc/qt-4.8/qthread.html#run),run是受保護的成員,不是公共的。我懷疑這會成爲你錯誤的根源。 – obmarg 2012-03-09 14:06:56
@obmarg:這是因爲跑步是虛擬的,他從來沒有定義過它。 – PlasmaHH 2012-03-09 14:26:05
嗯...我編譯得很好。 MinGw上的4.7.4 + 4.8.0。你正在使用哪種OS/Qt版本? – Koying 2012-03-09 14:33:02