求助!QT网络编程中udpsocket 无法writeDatagram

就是按钮按下,向本地发送一个udp数据包。
代买如下:
cpp文件
#include <QtCore>
#include <QtNetwork/QHostAddress>

void Emit_udp::on_Button1_clicked()
{
QByteArray datagram;
QDataStream out(&datagram, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_3);
out <<"1"<<"button_one";
udpsocket->writeDatagram(datagram,QHostAddress::LocalHost,6688);
ui->label->setText("11111~");
}

。h文件
#include <QWidget>
#include <QtNetwork/QUdpSocket>

namespace Ui {

class Emit_udp;

}

class Emit_udp : public QWidget
{
Q_OBJECT
public:
explicit Emit_udp(QWidget *parent = 0);
~Emit_udp();
private slots:

void on_Button1_clicked();

void on_ExitButton_clicked();

private:
Ui::Emit_udp *ui;
QUdpSocket *udpsocket;

};

结果总是在 udpsocket->writeDatagram(datagram,QHostAddress::LocalHost,6688);处报错;
debug/emit_udp.o:E:\QT_WS\emit_udp-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK____/../emit_udp/emit_udp.cpp:25: undefined reference to `_imp___ZN12QHostAddressC1ENS_14SpecialAddressE'
不知道怎么回事啊!!!
是不是QHostAddress文件没包含对啊!
总是报undefined reference的错啊!
最新回答
视水若沙

2021-12-03 00:54:47

.pro文件里添加
QT+=network
追问
在ubuntu下。pro里面添加了QT+=network以后 makefile报错。错误代码是3.肿么办?
追答
包含了这个文件了了吗? #include 
追问
库位置有问题,加了QT+=network ,就可以直接#include 
如果不改pro就要#include 才行。但是改了pro就无法编译。不改的话,又报错undefined reference。
追答
network库 必须要加上的,这个在qt帮助里有提到。至于为什么加上就不能编译,就不清楚了。
还有这个错误代码3的详细描述是什么呢?只是一个错误代码,很难知道是什么原因。