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.


Anmelden zum Antworten