我正在用VisualWinsock2010编译一个项目,但是我对一些C++重新定义有问题。
首先我得到的是:
syntax error : identifier 'SOCKADDR_STORAGE'但是,如果我包含winsock、winsock2或ws2tcpip,我会得到许多类似以下的错误:
error C2011: 'sockaddr' : 'struct' type redefinition
error C2011: 'WSAData' : 'struct' type redefinition
error C2011: 'linger' : 'struct' type redefinition发布于 2012-07-16 05:10:36
您的问题是,通过包含Windows.h,您也已经包含了winsock.h。在这里,当包含winsock2.h或ws2tcpip.h将尝试重新定义winsock.h中的一些定义时,问题就出现了
通过在Windows.h包含之前使用#define WIN32_LEAN_AND_MEAN,您可以阻止编译器包含Windows.h附带的大量额外内容
https://stackoverflow.com/questions/11495589
复制相似问题