Я пытаюсь написать HTTP-прокси, который в основном работает как indianwebproxyнеопределенная ссылка на таблицу для ...
Так я разжег 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) запуск является защищенным членом, а не общедоступным. Я сомневаюсь, что это будет причиной вашей ошибки. – obmarg
@obmarg: Это так, поскольку run является виртуальным, и он никогда не определял его. – PlasmaHH
Mmmm ... Компиляция отлично. 4.7.4 + 4.8.0 на MinGw. Какую ОС/Qt ver вы используете? – Koying