WinSocket will nicht :(
-
Ich bin gerade dabei mit Hilfe dieses Tutorials http://www.c-worker.ch/ WinSocket zu lernen.
Nur stehe ich schon beim 1. Compilieren an:
Benutze DevCpp 4.9.8.0Quellcode:
#include <iostream> #include <stdlib.h> #include <windows.h> #include <winsock2.h> #include <stdio.h> using namespace std; int startWinsock(void); int main(int argc, char *argv[]) { long rc; rc=startWinsock(); if(rc!=0) { printf("Fehler: startWinsock, fehler code: %d\n",rc); return 1; } else { printf("Winsock gestartet!\n"); } system("PAUSE"); return 0; } int startWinsock(void) { WSADATA wsa; return WSAStartup(MAKEWORD(2,0),&wsa); }
Am Ende kommt immer ein Linker Fehler:
**[Linker error] undefined reference to `WSAStartup@8'
[Build Error] [socket1.exe] Error 1**
Habs schon mit:
WSAStartup(MAKEWORD(1,2),&wsa);
&
//#include <winsock2.h>
Hat aber beides nix genützt.
Wie gesagt hab noch keine Ahnung von Socket Programmierung und kann daher die Fehlermeldung nicht deuten. Ich denk mal ich muss was dazulinken.
-
du musst auch beim linken libwsock*.a einbeziehen
-
Wie meinst du das ?
Hab nachgeschaut. Bei den Bibliotheken ist "C:\Dev-Cpp\lib" eingestellt und in diesem Ordner befindet sich eine libwsock32.a. Muss ich das woanders einstellen ?!
thx
-
du muss die mit einbinden...das wars
-
Wie jetzt ?!
Wenn ichs so mache #include <libwsock32.a>
kommt die Fehlermeldung: libwsock32.a: No such file or directory.
Wie mach ich das jetzt
-
bitte mitLINKEN..
schau in deinem compilerfaq, wie das für deine spezielle umgebung, bzw. für deinen compiler geht.
-
jo, das prob hatte ich auch...
mom:projekt->projektoptionen->parameter->bibliothek/objekt hinzufügen->(da im lib-verzeichnis die datei auswählen)->fertig!
-
Danke, großes Danke
-
Auron_X schrieb:
jo, das prob hatte ich auch...
mom:projekt->projektoptionen->parameter->bibliothek/objekt hinzufügen->(da im lib-verzeichnis die datei auswählen)->fertig!
ohne projekt:
linker-option:-lwinsock32.a
mfg
-
Versuch mal
#pragma comment( lib, "ws2_32.lib" )
Danach gings bei mir
MfG
Limitless
-
ist doch schon lange beantwortet gewesen... wieso woche später nochmal eine ?
na egal...