gpt4 book ai didi

c - Win 7 64 位和对 getaddrinfo 的 undefined reference

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

我有一段示例代码:

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

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

//...

if ((err = getaddrinfo(hostname, service, &hints, &res)) != 0)
{
printf("error %d\n", err);
return 1;
}

我尝试在我的 64 位 Windows 7 上编译:

gcc -O0 -g3 -Wall -c -fmessage-length=0 -o src\sample.o ..\src\sample.c
..\src\sample.c: In function 'main':
..\src\sample.c:26:2: warning: implicit declaration of function 'getaddrinfo' [-Wimplicit-function-declaration]
gcc -o sample.exe src\sample.o -lws2_32
src\sample.o: In function `main':
C:\workspace\sample\Debug/../src/sample.c:26: undefined reference to `getaddrinfo'
collect2: ld returned 1 exit status

我得到一个错误。如何进行这项工作?

最佳答案

如果您的目标不是 Windows 2000 或更早版本,将 WINVER 设置为 0x501 应该能让您的代码正确构建。

gcc -DWINVER=0x501 ...

(或者在源代码中包含任何 Windows header 之前使用 #define。)

关于c - Win 7 64 位和对 getaddrinfo 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9318816/

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