我有一个使用getaddrinfo()
. 它在 Linux 和 Mac OS X 上按预期工作。
我正在将其移植到 Windows 中。
当我编译它(使用 MinGW gcc)时,我收到以下警告:
ext/socket/socket.c: In function 'sl_tcp_socket_init':
ext/socket/socket.c:98:5: warning implicit declaration of function 'getaddrinfo' [-Wimplicit-function-declaration]
ext/socket/socket.c:104:9: warning implicit declaration of function 'freeaddrinfo' [-Wimplicit-function-declaration]
然后整个事情无法与未定义的引用链接getaddrinfo()
和freeaddrinfo()
。
现在,根据这个 MSDN 页面,getaddrinfo()
在 Windows 上受支持,位于头文件Ws2tcpip.h
和库文件Ws2_32.lib
中。
我包含Ws2tcpip.h
并链接到-lWs2_32
,所以我不确定为什么这不起作用。