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?