Winsock Version
-
hi,
du musst die bibilothek linken und die entsprechende header einbinden.
#include <winsock2.h> #pragma comment(lib, "wsock32.lib")
du kannst die wsock32.lib auch zu den projekteinstellungen hinzufügen
projekt -> einstellungen -> linker -> und dann hinzuschreibenrechtschreibfehler
[ Dieser Beitrag wurde am 01.04.2003 um 13:06 Uhr von miller_m editiert. ]
-
Sry das ich den Thread aus der Versenkung hole aber ich habe
#include "socket.h" #include "string.h" #include <iostream.h> #include <winsock2.h> #pragma comment(lib, "wsock32.lib")
includiert und an die 100 Fehler
c:\programme\microsoft visual studio\myprojects\socket\socket.cpp(18) : error C2143: Syntaxfehler : Fehlendes ';' vor '}' c:\programme\microsoft visual studio\myprojects\socket\socket.cpp(18) : error C2143: Syntaxfehler : Fehlendes ';' vor '}' c:\programme\microsoft visual studio\myprojects\socket\socket.cpp(18) : error C2143: Syntaxfehler : Fehlendes ';' vor '}' .....
-
Du musst <winsock2.h> *gaaaaanz* oben stehen haben...
-
Was steht denn in den Zeilen so?
-
geeky schrieb:
Was steht denn in den Zeilen so?
Nicht wirklich viel..
socket.h
#include <winsock2.h> #pragma comment(lib, "wsock32.lib") class socket { public: void sendmsg(char msg[]); };
socket.cpp
#include "socket.h" #include "string.h" #include <iostream.h> void socket::sendmsg(char msg[]) { cout << "Deine Nachricht war: " << msg; } int main() { socket *pObj = new socket(); pObj->sendmsg("TEST TEST"); return 0; }
-
Ich hab die Headerdatei jetzt hoch und runter geschoben aber immer noch keine Möglichkeit gefunden das diese 100 Fehler nicht existieren
-
Es gibt doch die Funktion "socket". Könnte sein, dass das nen Makro ist, wegen Unicode und so. Versuch mal, deine Klasse anders zu nennen
-
Badestrand schrieb:
Es gibt doch die Funktion "socket". Könnte sein, dass das nen Makro ist, wegen Unicode und so. Versuch mal, deine Klasse anders zu nennen
edit....
es geht *freu*Jup hab jetzt 58 Fehler aber eigentlich sollte ja ein fehlerfreies Compilieren möglich sein ohne Deklaration von Prototypen aus der Header
c:\programme\microsoft visual studio\vc98\include\winsock2.h(99) : error C2011: 'fd_set' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(49) : Siehe Deklaration von 'fd_set' c:\programme\microsoft visual studio\vc98\include\winsock2.h(134) : warning C4005: 'FD_SET' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(83) : Siehe vorherige Definition von 'FD_SET' c:\programme\microsoft visual studio\vc98\include\winsock2.h(143) : error C2011: 'timeval' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(92) : Siehe Deklaration von 'timeval' c:\programme\microsoft visual studio\vc98\include\winsock2.h(199) : error C2011: 'hostent' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(148) : Siehe Deklaration von 'hostent' c:\programme\microsoft visual studio\vc98\include\winsock2.h(212) : error C2011: 'netent' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(161) : Siehe Deklaration von 'netent' c:\programme\microsoft visual studio\vc98\include\winsock2.h(219) : error C2011: 'servent' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(168) : Siehe Deklaration von 'servent' c:\programme\microsoft visual studio\vc98\include\winsock2.h(226) : error C2011: 'protoent' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(175) : Siehe Deklaration von 'protoent' c:\programme\microsoft visual studio\vc98\include\winsock2.h(310) : error C2011: 'in_addr' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(259) : Siehe Deklaration von 'in_addr' c:\programme\microsoft visual studio\vc98\include\winsock2.h(368) : error C2011: 'sockaddr_in' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(309) : Siehe Deklaration von 'sockaddr_in' c:\programme\microsoft visual studio\vc98\include\winsock2.h(378) : error C2011: 'WSAData' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(319) : Siehe Deklaration von 'WSAData' c:\programme\microsoft visual studio\vc98\include\winsock2.h(430) : warning C4005: 'SO_DONTLINGER' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(391) : Siehe vorherige Definition von 'SO_DONTLINGER' c:\programme\microsoft visual studio\vc98\include\winsock2.h(483) : warning C4005: 'AF_IPX' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(449) : Siehe vorherige Definition von 'AF_IPX' c:\programme\microsoft visual studio\vc98\include\winsock2.h(506) : warning C4005: 'AF_MAX' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(468) : Siehe vorherige Definition von 'AF_MAX' c:\programme\microsoft visual studio\vc98\include\winsock2.h(512) : error C2011: 'sockaddr' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(474) : Siehe Deklaration von 'sockaddr' c:\programme\microsoft visual studio\vc98\include\winsock2.h(521) : error C2011: 'sockproto' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(483) : Siehe Deklaration von 'sockproto' c:\programme\microsoft visual studio\vc98\include\winsock2.h(560) : error C2011: 'linger' : 'struct' Typneudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(520) : Siehe Deklaration von 'linger' c:\programme\microsoft visual studio\vc98\include\winsock2.h(573) : warning C4005: 'SOMAXCONN' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(533) : Siehe vorherige Definition von 'SOMAXCONN' c:\programme\microsoft visual studio\vc98\include\winsock2.h(598) : warning C4005: 'FD_READ' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(551) : Siehe vorherige Definition von 'FD_READ' c:\programme\microsoft visual studio\vc98\include\winsock2.h(601) : warning C4005: 'FD_WRITE' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(552) : Siehe vorherige Definition von 'FD_WRITE' c:\programme\microsoft visual studio\vc98\include\winsock2.h(604) : warning C4005: 'FD_OOB' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(553) : Siehe vorherige Definition von 'FD_OOB' c:\programme\microsoft visual studio\vc98\include\winsock2.h(607) : warning C4005: 'FD_ACCEPT' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(554) : Siehe vorherige Definition von 'FD_ACCEPT' c:\programme\microsoft visual studio\vc98\include\winsock2.h(610) : warning C4005: 'FD_CONNECT' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(555) : Siehe vorherige Definition von 'FD_CONNECT' c:\programme\microsoft visual studio\vc98\include\winsock2.h(613) : warning C4005: 'FD_CLOSE' : Makro-Neudefinition c:\programme\microsoft visual studio\vc98\include\winsock.h(556) : Siehe vorherige Definition von 'FD_CLOSE' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1427) : error C2375: 'accept' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(707) : Siehe Deklaration von 'accept' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1448) : error C2375: 'bind' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(710) : Siehe Deklaration von 'bind' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1467) : error C2375: 'closesocket' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(712) : Siehe Deklaration von 'closesocket' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1486) : error C2375: 'connect' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(714) : Siehe Deklaration von 'connect' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1507) : error C2375: 'ioctlsocket' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(716) : Siehe Deklaration von 'ioctlsocket' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1528) : error C2375: 'getpeername' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(718) : Siehe Deklaration von 'getpeername' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1549) : error C2375: 'getsockname' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(721) : Siehe Deklaration von 'getsockname' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1572) : error C2375: 'getsockopt' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(724) : Siehe Deklaration von 'getsockopt' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1593) : error C2375: 'htonl' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(727) : Siehe Deklaration von 'htonl' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1610) : error C2375: 'htons' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(729) : Siehe Deklaration von 'htons' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1627) : error C2375: 'inet_addr' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(731) : Siehe Deklaration von 'inet_addr' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1644) : error C2375: 'inet_ntoa' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(733) : Siehe Deklaration von 'inet_ntoa' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1662) : error C2375: 'listen' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(735) : Siehe Deklaration von 'listen' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1680) : error C2375: 'ntohl' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(737) : Siehe Deklaration von 'ntohl' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1697) : error C2375: 'ntohs' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(739) : Siehe Deklaration von 'ntohs' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1717) : error C2375: 'recv' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(741) : Siehe Deklaration von 'recv' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1742) : error C2375: 'recvfrom' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(743) : Siehe Deklaration von 'recvfrom' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1768) : error C2375: 'select' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(746) : Siehe Deklaration von 'select' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1792) : error C2375: 'send' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(749) : Siehe Deklaration von 'send' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1817) : error C2375: 'sendto' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(751) : Siehe Deklaration von 'sendto' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1843) : error C2375: 'setsockopt' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(754) : Siehe Deklaration von 'setsockopt' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1865) : error C2375: 'shutdown' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(757) : Siehe Deklaration von 'shutdown' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1885) : error C2375: 'socket' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(759) : Siehe Deklaration von 'socket' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1908) : error C2375: 'gethostbyaddr' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(763) : Siehe Deklaration von 'gethostbyaddr' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1927) : error C2375: 'gethostbyname' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(766) : Siehe Deklaration von 'gethostbyname' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1945) : error C2375: 'gethostname' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(768) : Siehe Deklaration von 'gethostname' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1964) : error C2375: 'getservbyport' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(770) : Siehe Deklaration von 'getservbyport' c:\programme\microsoft visual studio\vc98\include\winsock2.h(1983) : error C2375: 'getservbyname' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(772) : Siehe Deklaration von 'getservbyname' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2001) : error C2375: 'getprotobynumber' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(775) : Siehe Deklaration von 'getprotobynumber' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2018) : error C2375: 'getprotobyname' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(777) : Siehe Deklaration von 'getprotobyname' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2038) : error C2375: 'WSAStartup' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(781) : Siehe Deklaration von 'WSAStartup' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2056) : error C2375: 'WSACleanup' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(783) : Siehe Deklaration von 'WSACleanup' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2073) : error C2375: 'WSASetLastError' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(785) : Siehe Deklaration von 'WSASetLastError' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2090) : error C2375: 'WSAGetLastError' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(787) : Siehe Deklaration von 'WSAGetLastError' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2107) : error C2375: 'WSAIsBlocking' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(789) : Siehe Deklaration von 'WSAIsBlocking' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2124) : error C2375: 'WSAUnhookBlockingHook' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(791) : Siehe Deklaration von 'WSAUnhookBlockingHook' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2141) : error C2375: 'WSASetBlockingHook' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(793) : Siehe Deklaration von 'WSASetBlockingHook' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2158) : error C2375: 'WSACancelBlockingCall' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(795) : Siehe Deklaration von 'WSACancelBlockingCall' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2180) : error C2375: 'WSAAsyncGetServByName' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(797) : Siehe Deklaration von 'WSAAsyncGetServByName' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2207) : error C2375: 'WSAAsyncGetServByPort' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(802) : Siehe Deklaration von 'WSAAsyncGetServByPort' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2233) : error C2375: 'WSAAsyncGetProtoByName' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(806) : Siehe Deklaration von 'WSAAsyncGetProtoByName' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2258) : error C2375: 'WSAAsyncGetProtoByNumber' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(810) : Siehe Deklaration von 'WSAAsyncGetProtoByNumber' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2283) : error C2375: 'WSAAsyncGetHostByName' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(814) : Siehe Deklaration von 'WSAAsyncGetHostByName' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2310) : error C2375: 'WSAAsyncGetHostByAddr' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(818) : Siehe Deklaration von 'WSAAsyncGetHostByAddr' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2333) : error C2375: 'WSACancelAsyncRequest' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(822) : Siehe Deklaration von 'WSACancelAsyncRequest' c:\programme\microsoft visual studio\vc98\include\winsock2.h(2353) : error C2375: 'WSAAsyncSelect' : Neudefinition; unterschiedliche Bindung c:\programme\microsoft visual studio\vc98\include\winsock.h(824) : Siehe Deklaration von 'WSAAsyncSelect'
-
Hatte den gleichen Fehler.
#include "windows.h"
Bindet Winsock 1 ein. Und Winsock 2 definiert unter den gleichen Namen alles neu, daher die Namenskonflikte.
Entweder du bindest Winsock 2 vor "windows.h" ein, oder du schreibst folgendes vor "windows.h":
#define _WINSOCKAPI_
Liebe Grüße
Samuel
-
ne, besser #define WIN32_LEAN_AND_MEAN vor #include <windows.h> schreiben.
-
Was bedeutet #define WIN32_LEAN_AND_MEAN genau?
Er nimmt nur die wichtigsten Windows Methoden, oder was?