【发布时间】:2012-09-27 18:14:57
【问题描述】:
我有一个使用getaddrinfo() 的C 程序。它可以在 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() 的未定义引用。
现在,根据this MSDN page,getaddrinfo()在Windows上是支持的,位于头文件Ws2tcpip.h和库文件Ws2_32.lib中。
我包含Ws2tcpip.h 并与-lWs2_32 链接,所以我不确定为什么这不起作用。
【问题讨论】:
标签: c winapi mingw winsock2 getaddrinfo