Implizite Deklaration der Funktion "getaddrinfo" auf MinGW

Ich habe ein C-Programm, das verwendet getaddrinfo(). Es funktioniert wie erwartet auf Linux und Mac OS X.

Ich bin in der Mitte der Portierung zu Windows.

Wenn ich es kompilieren (mit MinGW-gcc) bekomme ich folgende Warnungen:

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]

Dann die ganze Sache nicht um die Verknüpfung mit undefinierten Referenzen zu getaddrinfo() und freeaddrinfo().

Nun, nach dieser MSDN-Seite, getaddrinfo() wird unterstützt auf Windows und befindet sich in der header-Datei Ws2tcpip.h und die Bibliothek-Datei Ws2_32.lib.

Ich bin auch Ws2tcpip.h und die Verknüpfung mit -lWs2_32, so bin ich nicht sicher, warum dies nicht funktioniert.

Schreibe einen Kommentar