Tengo un programa en C que usa getaddrinfo()
. Funciona como se esperaba en Linux y Mac OS X.Declaración implícita de la función 'getaddrinfo' en MinGW
Estoy en el medio de portarlo a Windows.
Cuando compilo (con MinGW gcc) consigo las siguientes advertencias:
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]
Entonces toda la cosa no se puede vincular con referencias indefinidas a getaddrinfo()
y freeaddrinfo()
.
Ahora, de acuerdo con this MSDN page, getaddrinfo()
es compatible con Windows y se encuentra en el archivo de cabecera Ws2tcpip.h
y el archivo de biblioteca Ws2_32.lib
.
Estoy incluyendo Ws2tcpip.h
y vinculo con -lWs2_32
, así que no estoy seguro de por qué esto no está funcionando.