QTプロジェクトにIcecastServerクラスを追加し、ヘッダーファイルをproファイルに追加してコードを追加しました。毎回私は、次のエラーが発生し、それをコンパイルします。コンパイルしようとするとQTの未定義参照エラーが発生する
リリース/ icecastserver.o:。icecastserver.cppを:(テキスト+ます。0x39):icecastserver:
_imp___ZN10QTcpServerC1EP7QObject' release/icecastserver.o:icecastserver.cpp:(.text+0x50): undefined reference to
IMPZN12QHostAddressC1ENS_14SpecialAddressE」 リリース/ icecastserver.oへの未定義参照.CPP :(テキスト+ 0x68): 放出/ icecastserver_imp___ZN10QTcpServer6listenERK12QHostAddresst' release/icecastserver.o:icecastserver.cpp:(.text+0x73): undefined reference to
_imp _ZN12QHostAddressD1Ev ':icecastserver.cpp :(テキスト+ 0x9d)_imp___ZNK10QTcpServer11errorStringEv' release/icecastserver.o:icecastserver.cpp:(.text+0x3d4): undefined reference to
IMPZN12QHostAddressD1Evに未定義の参照/ icecastserver.o リリース' への未定義参照.o:icecastse rver.cpp :(テキスト+ 0x4bd):。_imp___ZN10QTcpServerC1EP7QObject' release/icecastserver.o:icecastserver.cpp:(.text+0x4d4): undefined reference to
_imp _ZN12QHostAddressC1ENS_14SpecialAddressE ':icecastserver.cpp :(テキスト+ 0x4ec):/ icecastserver.o リリース_imp___ZN10QTcpServer6listenERK12QHostAddresst' release/icecastserver.o:icecastserver.cpp:(.text+0x4f7): undefined reference to
IMPZN12QHostAddressD1Evへの未定義参照' への未定義参照 リリース/ icecastserver.o:icecastserver.cpp :(テキスト+ 0x521):。_imp___ZNK10QTcpServer11errorStringEv' release/icecastserver.o:icecastserver.cpp:(.text+0x858): undefined reference to
_imp _ZN12QHostAddressD1Ev」
に未定義の参照、私は間違って何をしているのですか?
これは、ヘッダー・ファイルです:
#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
これは、ソース・ファイルです:
#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;
}
}
私はそれを追加しましたが、あなたが言ったように、コメントアウトされているので、問題は解決しませんでした。 あなたはどの入力を話していますか? – Hedge
yay!プロファイルにネットワークを追加することで問題は解決しました。 'QT + = network'の場合は – Hedge
、参照はhttps://doc.qt.io/qt-4.8/qmake-variable-reference.html#qtにあります。 – n611x007