我想写,基本上就像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