gpt4 book ai didi

c - 如何在 C 中正确链接 winsock2.h?

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:18 25 4
gpt4 key购买 nike

<分区>

我正在使用 QT Creator 构建一个 C 语言项目。我的项目包含一个套接字创建,但我遇到了很多引用错误。

我的代码很简单:

#include <winsock2.h>
#include <stdio.h>

// Need to link with Ws2_32.lib
#pragma comment (lib, "Ws2_32.lib")

int main(int argc , char *argv[])
{
WSADATA wsa;
SOCKET s;

printf("\nInitialising Winsock...");
if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
{
printf("Failed. Error Code : %d",WSAGetLastError());
return 1;
}

printf("Initialised.\n");

if((s = socket(AF_INET , SOCK_STREAM , 0 )) == INVALID_SOCKET)
{
printf("Could not create socket : %d" , WSAGetLastError());
}

printf("Socket created.\n");

return 0;
}

编译错误:

undefined reference to `_imp__WSAStartup@8'
undefined reference to `_imp__WSAGetLastError@0'
undefined reference to `_imp__socket@12'
undefined reference to `_imp__WSAGetLastError@0'

那么我想这意味着 winsock2.h 库不包括在内。如何在没有 #pragma comment() 的情况下做到这一点?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com