Ho aggiunto una classe IcecastServer al mio progetto QT, aggiunto il file di intestazione al file pro e aggiunto del codice. Ogni volta che compilo si verificano i seguenti errori:QT errori di riferimento non definiti durante il tentativo di compilare
rilascio/icecastserver.o:. Icecastserver.cpp :(testo + 0x39): undefined reference to
_imp___ZN10QTcpServerC1EP7QObject' release/icecastserver.o:icecastserver.cpp:(.text+0x50): undefined reference to
impZN12QHostAddressC1ENS_14SpecialAddressE' rilascio/icecastserver.o: icecastserver . cpp :(testo + 0x68): undefined reference to_imp___ZN10QTcpServer6listenERK12QHostAddresst' release/icecastserver.o:icecastserver.cpp:(.text+0x73): undefined reference to
_imp _ZN12QHostAddressD1Ev ' rilascio/icecastserver.o: icecastserver.cpp :(testo + 0x9d):. undefined reference to_imp___ZNK10QTcpServer11errorStringEv' release/icecastserver.o:icecastserver.cpp:(.text+0x3d4): undefined reference to
impZN12QHostAddressD1Ev' rilascio/icecastserver .o: icecastse . Rver.cpp :(testo + 0x4bd): undefined reference to_imp___ZN10QTcpServerC1EP7QObject' release/icecastserver.o:icecastserver.cpp:(.text+0x4d4): undefined reference to
_imp _ZN12QHostAddressC1ENS_14SpecialAddressE ' rilascio/icecastserver.o: icecastserver.cpp :(testo + 0x4ec):. Undefined reference to_imp___ZN10QTcpServer6listenERK12QHostAddresst' release/icecastserver.o:icecastserver.cpp:(.text+0x4f7): undefined reference to
impZN12QHostAddressD1Ev' stampa/icecastserver.o: icecastserver.cpp :(testo + 0x521):. undefined reference to_imp___ZNK10QTcpServer11errorStringEv' release/icecastserver.o:icecastserver.cpp:(.text+0x858): undefined reference to
_imp _ZN12QHostAddressD1Ev'
che cosa sto facendo di sbagliato?
Questo è il file di intestazione:
#ifndef ICECASTSERVER_H
#define ICECASTSERVER_H
#include <QObject>
QT_BEGIN_NAMESPACE
class QTcpServer;
QT_END_NAMESPACE
class IcecastServer : public QObject
{
Q_OBJECT
public:
explicit IcecastServer(QObject *parent = 0);
signals:
public slots:
private:
QTcpServer *tcpServer;
};
#endif // ICECASTSERVER_H
Questa è la fonte file:
#include "icecastserver.h"
#include "QDebug"
#include <QtNetwork/QTcpServer>
#include <QtGui>
IcecastServer::IcecastServer(QObject *parent) :
QObject(parent)
{
tcpServer = new QTcpServer(this);
//tcpServer->listen(QHostAddress::Any,8000);
if (!tcpServer->listen()){
QMessageBox::critical(NULL, tr("Fortune Server"), tr("Unable to start the server: %1.").arg(tcpServer->errorString()));
return;
}
}
Ho aggiunto che include ma come hai detto, è stato commentato, in modo che non risolvesse il problema. Di quali input stai parlando? – Hedge
yay! L'aggiunta di una rete al pro-file ha risolto il problema. – Hedge
per 'QT + = rete' il riferimento può essere trovato su https://doc.qt.io/qt-4.8/qmake-variable-reference.html#qt – n611x007