wo ist der fehler? winsock
-
hi
mach grad ein tutorial zum thema winsock.
der beispiel code funzt bei mir nicht. fehlermeldung:error: C2011 'fd_set' : 'struct' typneudefinition. zeigt mir den fehler in der winsock2.h an.
arbeite mit visual studio.net die 2003er. hoffe mir kann jemand helfen.
hab ne win32, leere konsolenanwendung genommen.
hier der code:#include <windows.h> #include <winsock2.h> #include <stdio.h> //Prototypen int startWinsock(void); int main() { long rc; rc=startWinsock(); if(rc!=0) { printf("Fehler: startWinsock, fehler code: %d\n",rc); return 1; } else { printf("Winsock gestartet!\n"); } return 0; } int startWinsock(void) { WSADATA wsa; return WSAStartup(MAKEWORD(2,0),&wsa); }
-
Deinem Code nach zu urteilen, würde ich jetzt auf das Tutorial von c-worker.ch tippen. Dort steht im Kopf auch folgendes:
c-worker.ch schrieb:
Hinweise
Falls beim kompilieren einige "Neudefinition" Fehler kommen entfernt die "#include <winsock2.h>" Zeile (wurde in diesem Fall schon in windows.h includiert)
Falls der Compiler ADDR_ANY nicht finden kann verwendet INADDR_ANY.Solltest du vielleicht mal ausprobieren

-
vielen dank für deine schnelle antwort

ja das ist das tut. und ich hab das natürlich komplett überlesen.
hab jetzt wieder n fehler
. LNK2019. denke mal das das auf die lib zurückzuführen ist.
"Hinweis: Falls man Visual Studio verwendet muss man bei den Projekteigenschaften unter Linker ws2_32.lib zu den Libraries hinzufügen."
habe die lib bei linker-erweitert-bibliothek importieren reingeschrieben. ist das so richtig?
fehler: LNK2019:nicht aufgelöstes externes symbol _WSAStartup@8, verwiesen in funktion int_cdecl startWinsock(void)"(?startwinsock@@YAHXZ)
-
du musst 'ws2_32.lib' mit dazulinken
-
bastel jetzt schon ne ganze weile dran rum. ich bekomme die Ws2_32.dll einfach nicht verlinkt. kann mir bitte jemand genau sagen wie das geht. hab visual studio.net (2003)
-
Entweder im Code mittels #pragma comment(lib, "ws2_32.lib") oder in den Projektoptionen unter "Linker" bei "Zusätzliche Abhängigkeiten" eintragen.
-
perfekt.
ich danke dir masterofx32. mit #pragma comment(lib, "ws2_32.lib") klappt es wunderbar. thx