Problem mit socket
-
Hallo,
ich will mir evtl. eiun buch über sockets kaufen, aber bevor ich das geld ausgebe wollte ich mich mal so rantasten. erarbeite dabei ein tutorial. das erste prog sieht so aus:
#include <stdio.h>
#include <errno.h>
#include <string>
#include <winsock.h>int main ()
{
int sockfd = socket (AF_INET, SOCK_STREAM, 0);if (sockfd == -1)
perror ("socket()");return 0;
}beim compilieren gibt das keine fehler, wenn VS6 das aber ausführen soll kjommt folgendes:
--------------------Konfiguration: teeeest - Win32 Debug--------------------
Linker-Vorgang läuft...
lo.obj : error LNK2001: Nichtaufgeloestes externes Symbol _socket@12
Debug/teeeest.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.teeeest.exe - 2 Fehler, 0 Warnung(en)
vielen dank für jede hilfe
-
Library: Use Ws2_32.lib.
-
Original erstellt von <derfritz>:
Library: Use Ws2_32.lib.yeah super, es klappt vielen dank
-
wo wir grad dabei sind: wieso kennt der nicht socklen_t nicht? muss man da noch ne lib einfügen ?
danke
-
Sieht aus als ob das was Linux spezifisches ist.
-
müßte es eigentlich geben. ist in WS2TCPIP.H definiert als int. probier mal #include <winsock2.h>
-
#include <ws2tcpip.h>
-
hallo, erstmal danke für die hilfe
#include <winsock2.h>
.
.
.
lo.obj - 69 Fehler, 11 Warnung(en)#include <ws2tcpip.h>
.
.
.
lo.obj - 4 Fehler, 8 Warnung(en)
-
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.
-
mach also <windows.h> mal rein und winsock2.h wieder raus
-
also wenn ich windows.h statt winsock2.h wieder rausnehme ist allles wie vorher. also 3 fehler
-
Versuch doch mal auch die -- wsock2_32.lib -- einzubinden!
-
Original erstellt von <derhans>:
**hallo, erstmal danke für die hilfe#include <winsock2.h>
.
.
.
lo.obj - 69 Fehler, 11 Warnung(en)#include <ws2tcpip.h>
.
.
.
lo.obj - 4 Fehler, 8 Warnung(en):(**
Sieht stark nach ner nicht geschlossenen geschweiften Klammer in deinem Quellcode aus. Ich hatte das auch schon 1000 mal und es lag meistens daran...