qt创建SOCKET编译报错

图片说明为什么用QT在windows下创建SOCKET套接字会报错,是不是编译器的问题啊,找来找去找不到问题啊。。。。。求大神相助,网络编程新手,还有就是我已经确定包含了WS2_32.lib

QString hostip = "192.168.168.113";
qint16 port = 8000;
psocket = new QTcpSocket;
psocket->connectToHost( QHostAddress( hostip ), port );

试了下楼主的代码,在我的电脑上是能跑的,楼主要不删了build-XXXX-XX-XX文件夹,重新生成一下试试

 #include <WinSock2.h>
int sock_send()
{
    WSADATA WSAdata;
    WORD ver;
    WSAStartup(ver, &WSAdata);
    SOCKET st = socket(AF_INET, SOCK_DGRAM, 0);
    struct sockaddr_in addr;
    memset(&addr, 0, sizeof(addr));
    addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
    addr.sin_family = AF_INET;
    addr.sin_port = htons(8080);
    return 0;
}

将变量的申明放在一个函数块的头部,好像改成这样就好了

 int sock_send()
{
    WSADATA WSAdata;
    WORD ver;
    SOCKET st;
    struct sockaddr_in addr;
    WSAStartup(ver, &WSAdata);
    st = socket(AF_INET, SOCK_DGRAM, 0);
    memset(&addr, 0, sizeof(addr));
    addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
    addr.sin_family = AF_INET;
    addr.sin_port = htons(8080);
    return 0;
}