Agregué una clase IcecastServer a mi proyecto QT, agregué el archivo de encabezado al archivo pro y agregué un código. Cada vez que compilo los errores siguientes:QT Errores de referencia no definidos al intentar compilar
liberación/icecastserver.o:. Icecastserver.cpp :(texto + 0x39): referencia indefinida a
_imp___ZN10QTcpServerC1EP7QObject' release/icecastserver.o:icecastserver.cpp:(.text+0x50): undefined reference to
imp liberación ZN12QHostAddressC1ENS_14SpecialAddressE'/ icecastserver.o: icecastserver . .cpp :(texto + 0x68): referencia indefinida a_imp___ZN10QTcpServer6listenERK12QHostAddresst' release/icecastserver.o:icecastserver.cpp:(.text+0x73): undefined reference to
_mej _ZN12QHostAddressD1Ev ' liberación/icecastserver.o: icecastserver.cpp :(texto + 0x9d):. referencia indefinida a_imp___ZNK10QTcpServer11errorStringEv' release/icecastserver.o:icecastserver.cpp:(.text+0x3d4): undefined reference to
impZN12QHostAddressD1Ev' liberación/icecastserver .o: icecastse . Rver.cpp :(texto + 0x4bd): referencia indefinida a_imp___ZN10QTcpServerC1EP7QObject' release/icecastserver.o:icecastserver.cpp:(.text+0x4d4): undefined reference to
_mej _ZN12QHostAddressC1ENS_14SpecialAddressE ' liberación/icecastserver.o: icecastserver.cpp :(texto + 0x4ec):. Referencia indefinida a_imp___ZN10QTcpServer6listenERK12QHostAddresst' release/icecastserver.o:icecastserver.cpp:(.text+0x4f7): undefined reference to
impZN12QHostAddressD1Ev' liberación /icecastserver.o: icecastserver.cpp :(texto + 0x521):._imp___ZNK10QTcpServer11errorStringEv' release/icecastserver.o:icecastserver.cpp:(.text+0x858): undefined reference to
referencia indefinida a _mej _ZN12QHostAddressD1Ev'
¿Qué estoy haciendo mal?
Esta es la cabecera de archivo:
#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
Ésta es la fuente de archivo:
#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;
}
}
Agregué que incluir pero como dijiste, está comentado, por lo que no solucionó el problema. ¿De qué entradas está hablando? – Hedge
yay! Agregar red al archivo pro resolvió el problema. – Hedge
para 'QT + = network', la referencia se puede encontrar en https://doc.qt.io/qt-4.8/qmake-variable-reference.html#qt – n611x007