Tôi cố gắng để viết một proxy Http rằng về cơ bản hoạt động như indianwebproxytài liệu tham khảo không xác định để vtable cho ...
Vì vậy, tôi bị sa thải lên QtCreator và nhưng một trong các lớp học của tôi là thất bại trong việc biên dịch với lỗi khét tiếng: undefined reference to vtable for HttpProxyThreadBrowser
. Tôi không thể hiểu tại sao nó làm điều này. Tôi đọc qua các câu hỏi tương tự trên Stackoverflow và rõ ràng là the problem is with undefined virtual methods that are not pure Nhưng tôi đã không khai báo bất kỳ chức năng ảo nào. Đây là lớp của tôi
class HttpProxyThreadBrowser : public QThread
{
public:
HttpProxyThreadBrowser(QTcpSocket outgoingSocket,QTcpSocket browserSocket,QObject *parent = 0);
~HttpProxyThreadBrowser(){};
void run();
private:
QTcpSocket outgoingSocket;
QTcpSocket browserSocket;
};
Và tôi xác định lớp học ở đây trong pastebin để không làm bạn chán. Thật không may tôi không thể tìm hiểu lý do tại sao vtable là không xác định. Xin vui lòng giúp đỡ.
httpproxythreadbrowser.cpp:5: undefined reference to `vtable for HttpProxyThreadBrowser
collect2: ld returned 1 exit status
Theo [tài liệu] (http://qt-project.org/doc/qt-4.8/qthread.html#run), chạy là thành viên được bảo vệ, không phải công khai. Tôi nghi ngờ đó sẽ là nguồn gốc của lỗi của bạn mặc dù. – obmarg
@obmarg: Đó là, kể từ khi chạy là ảo, và anh ta không bao giờ định nghĩa nó. – PlasmaHH
Mmmm ... Biên soạn bởi tôi. 4.7.4 + 4.8.0 trên MinGw. Bạn đang sử dụng hệ điều hành nào/Qt ver? – Koying