Добрый день!
Пытюсь написать сервер на 80м порту, которая будет отображать, что идет с браузера.
Qt4.4.0 + Windows + MinGW
Помогите, пожалуйста выяснить причину проблемы. Второй день уже бьюсь..
*main.cpp
#include <QApplication>
#include <QHostAddress>
#include "dialog.h"
#include "server.h"
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
Dialog dialog;
Server server;
server.listen(QHostAddress::Any, 80);
dialog.show();
return app.exec();
}
*dialog.cpp
#include "dialog.h"
Dialog::Dialog(QWidget *parent) : QDialog(parent)
{
setupUi(this);
}
*dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include "ui_dialog.h"
class Dialog: public QDialog, public Ui::Dialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
};
#endif
*server.h
#ifndef SERVER_H
#define SERVER_H
#include <QTcpServer>
#include <QTcpSocket>
class Server : public QTcpServer
{
Q_OBJECT
public:
Server(QObject* parent = 0);
private:
void incomingConnection(int socketId);
};
class ClientSocket : public QTcpSocket
{
Q_OBJECT
public:
ClientSocket(QObject* parent=0);
private slots:
void readClient();
};
#endif // SERVER_H_INCLUDED
*server.cpp
#include "server.h"
#include <QMessageBox>
Server::Server(QObject* parent) : QTcpServer(parent)
{
}
void Server::incomingConnection(socketId)
{
ClientSocket* socket = new ClientSocket(this);
socket->setSocketDescriptor(socketId);
}
ClientSocket::ClientSocket(QObject* parent=0) : QTcpSocket(parent)
{
connect(this, SIGNAL(readyRead()), this, SLOT(readClient()));
connect(this, SIGNAL(disconnected()), this, SLOT(deleteLater()));
}
void ClientSocket::readClient()
{
QMessageBox::information(0, "read", "Могу читать данные от клиента");
}
ЧТо бы я не делал, всегда: ndefined reference to `vtable for Server'
E:\Qt\4.4.0\bin\socket>make
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `E:/Qt/4.4.0/bin/socket'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -Wl,-subsystem,windows -o debug\socket.exe tmp/obj/debug_shared
/dialog.o tmp/obj/debug_shared/main.o tmp/obj/debug_shared/moc_dialog.o -L"e:\Q
t\4.4.0\lib" -L"e:\Qt\4.4.0\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtNetworkd4 -lQ
tCored4
tmp/obj/debug_shared/main.o(.text+0x1a7): In function `Z5qMainiPPc':
E:/Qt/4.4.0/bin/socket/main.cpp:11: undefined reference to `Server::Server(QObje
ct*)'
tmp/obj/debug_shared/main.o(.text$_ZN6ServerD1Ev[Server::~Server()]+0xb): In fun
ction `ZSt17__verify_groupingPKcjRKSs':
E:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/locale
_
facets.tcc:2494: undefined reference to `vtable for Server'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\socket.exe] Error 1
mingw32-make[1]: Leaving directory `E:/Qt/4.4.0/bin/socket'
mingw32-make: *** [debug-all] Error 2
Ответ на:
комментарий
от alex_custov
Ответ на:
комментарий
от alex_custov
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от alex_custov
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Qt4 не могу соеденить сигнал со слотом (2009)
- Форум [Qt] Требуется свежий взгляд (2010)
- Форум QTcpServer - слот для newConnection не вызывается (2016)
- Форум Ошибки в Qt связаные с Q_OBJECT ... помогите плз!!! (2003)
- Форум [Qt][TcpSocket]Утечки памяти (2011)
- Форум Какая то фигня с make'ом qt. (2004)
- Форум проблема с qsslsocket (2018)
- Форум QT 4.x - ошибка линковки (2008)
- Форум Кросскомпиляция mingw , OpenGL, твоя моя непонимать, не опять, а снова (2019)
- Форум Затык на линковке - undefined reference to vtable. Наследник QAbstractTableModel. (2015)