MinGW freeaddrinfo ---> Prozedureinsprungpunkt nicht gefunden
-
Ich habe hier ein kleines Client-Programm, das die Funktionen getaddrinfo und freeaddrinfo benutzt.
gcc prog.cpp -lws2_32 kompiliert und linkt einwandfrei.
Wenn ich das Programm starte, bricht es jedoch mit der Fehlermeldung:Der Prozedureinsprungpunkt "freeaddrinfo" wurde in der DLL "WS2_32.DLL" nicht gefunden.
ab. Wenn ich freeaddrinfo testweise entferne, passiert das Gleiche mit getaddrinfo.
OS ist W2000 SP4
Compilerversion ist gcc 3.4.2 (mingw-special).Wenn ich das Ganze mit MS erstelle, läuft es ...
Wo mag das Problem mit MinGW liegen?
-
Da es getaddrinfo/freeaddrinfo erst ab Windows XP gibt, werden die Funktionen in der Datei Wspiapi.h für ältere Betriebssysteme emuliert. Diese Emulation hat der MinGW nicht, aber man kann den Header aus Visual C++ mit einer kleinen Änderung auch in MinGW nutzen. Man muss da glaub ich nur irgendwo einen Unterstrich hinzufügen.