我编译一个例程的时候,怎么报MSWSOCK.H的错误
error C2065: 'SOCKET' : undeclared identifier
然后一堆错误,
我该怎么办?

解决方案 »

  1.   

    在你的程序中加入:
    #include "Winsock.h"
    #pragma comment(lib, "Ws2_32.lib")
      

  2.   

    不行,它已经
    #include <winsock2.h>
    过了
    它报MSWSOCK.H的错误大多是SOCKET未定义,还有
    'connect' : definition of dllimport data not allowed
    不知道怎么回事
      

  3.   

    #pragma comment(lib, "Ws2_32.lib")  也加了吗?
    要不贴出报错信息。
      

  4.   

    哦,因为编译的是个LIB静态库,那个LIB就没有加,应该只用头文件就可以了。我加了试了,也没有用。
    关于winsock.h的错误是
    ram files\microsoft visual studio\vc98\include\mswsock.h(69) : error C2065: 'SOCKET' : undeclared identifier
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(69) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(69) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(73) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(89) : error C2146: syntax error : missing ')' before identifier 'hSocket'
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(89) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(96) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(101) : error C2146: syntax error : missing ')' before identifier 'sListenSocket'
    c:\program files\microsoft visual studio\vc98\include\mswsock.h(101) : warning C4229: anachronism used : modifiers on data are ignored
    wsock2.h头文件的错误则诸如此类::\program files\microsoft visual studio\vc98\include\winsock2.h(101) : error C2501: 'SOCKET' : missing storage-class or type specifiers
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(101) : error C2501: 'fd_array' : missing storage-class or type specifiers
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(104) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1422) : error C2143: syntax error : missing ';' before '__stdcall'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1422) : error C2501: 'SOCKET' : missing storage-class or type specifiers
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1422) : error C2370: 'SOCKET' : redefinition; different storage class
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1424) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1424) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1424) : error C2501: 'accept' : missing storage-class or type specifiers
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1427) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1445) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1445) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1483) : error C2491: 'connect' : definition of dllimport data not allowed
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1486) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1504) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1504) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1504) : error C2491: 'ioctlsocket' : definition of dllimport data not allowed
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1507) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1525) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1525) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1525) : error C2491: 'getpeername' : definition of dllimport data not allowed
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1528) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1546) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1546) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1546) : error C2491: 'getsockname' : definition of dllimport data not allowed
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1549) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1567) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1567) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1567) : error C2491: 'getsockopt' : definition of dllimport data not allowed
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1572) : error C2059: syntax error : ')'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1660) : error C2146: syntax error : missing ')' before identifier 's'
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1660) : warning C4229: anachronism used : modifiers on data are ignored
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1660) : error C2491: 'listen' : definition of dllimport data not allowed
    c:\program files\microsoft visual studio\vc98\include\winsock2.h(1662) : error C2059: syntax error : ')'
    请教
      

  5.   

    #include <winsock.h> or <winsock2.h>
      

  6.   

    已经include了啊<winsock2.h>
      

  7.   

    加入下面这段试试#if(_WIN32_WINNT>=0x0400)
       #include <winsock2.h>
       #include <mswsock.h>
    #else
       #include <winsock.h>
    #endif  /* _WIN32_WINNT>=0x0400 */#pragma comment(lib,"ws2_32")