我用谷歌搜索和搜索,答案看起来很均匀,但似乎对我不起作用.
尝试把#include< winsock2.h>在#include< windows.h>之前.还尝试不包括< windows.h> (如果缺少,winsock2会自动包含它).
尝试使用#define WIN32_LEAN_AND_MEAN和/或#define _WINSOCKAPI_优先.
在链接器中 – >其他依赖项我引用了ws2_32.lib.
还尝试了#pragma comment(lib,“ws2_32.lib”).
为了以防万一,我重建整个解决方案.
通常的错误(许多人似乎共享):
Error 5 error C2011: 'sockaddr' : 'struct' type redeFinition c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h 206 RallyActionError 6 error C2143: Syntax error : missing '}' before 'constant' c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h 384 RallyActionError 7 error C2143: Syntax error : missing ';' before 'constant' c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h 384 RallyActionError 8 error C2059: Syntax error : 'constant' c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h 384 RallyAction
……等等等等.
任何建议,将不胜感激.
解决方法 我有一个“WinsockWrapper.h”标题,可以帮助我确保一致性……它的要点是;#ifndef _windows_#define WIN32_LEAN_AND_MEAN#include <windows.h>#undef WIN32_LEAN_AND_MEAN#endif#include <winsock2.h>#pragma comment(lib,"ws2_32.lib")
在任何可能在任何需要winsock2.h的文件中引入windows.h的东西之前包括这个
这个,恕我直言意味着把它放在需要winsock2.h的大多数文件的顶部…
确保您的预编译头文件(如果您正在使用它)也首先使用它.
总结以上是内存溢出为你收集整理的c – VS2008编译错误全部内容,希望文章能够帮你解决c – VS2008编译错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)