Auflösen von externen Symbolen



  • Ich bekomme immer die Fehlermeldung:

    error LNK2001: Nichtaufgelöstes externes Symbol "unsigned int __stdcall _socket(int,int,int)" (?_socket@@$$J212YGIHHH@Z)

    beim Verlinken (nach dem Kompilieren) in der obj-Datei.
    Wie kann ich den Funktionsaufruf auflösen und somit diesen Fehler beseitigen.

    #define AF_INET         2               /* internetwork: UDP, TCP, etc. */
    #define SOCK_STREAM     1               /* stream socket */
    void main(){
    	unsigned int __stdcall socket (int af, int type, int protocol);
    	unsigned int iClient;
    	iClient = socket (AF_INET, SOCK_STREAM, 0);
    }
    

    Ohne den Aufruf __stdcall (also: unsigned int socket (int af, int type, int protocol);) erfolgt die Fehlermeldung:

    error LNK2001: Nichtaufgelöstes externes Symbol "unsigned int __cdecl socket(int,int,int)" (?socket@@$$J0YAIHHH@Z)



  • Du brauchst die Bibliotheks- oder Objektdatei, in der socket(int,int,int) implementiert ist.



  • Ich hab die Deklaration aus der Bibliotheksdatei "Winsock.h" herauskopiert und in mein Programm eingefügt.

    Ich würde sagen die Deklaration ist:
    unsigned int __stdcall socket (int af, int type, int protocol);
    oder?


Anmelden zum Antworten