有没有完善的方法解决“sockaddr”: “struct”类型重定义的错误

wenning111 2009-03-26 07:00:49
windows.h和winsock2.h有类型重定义我是知道的,
本来就一个库来说没问题,把winsock2放到windows.h前或先定义WIN32_LEAN_AND_MEAN都能解决问题
但现的出了问题,自己写的一个库里要用到ws2tcpip,这个头文件第一个包含的头文件就是winsock2.h
把它放到windows前,库是能成功编译了,
但当我在一个wxWidgets中调用它时,又出现那个让人厌烦的错误 ““sockaddr”: “struct”类型重定义”
明显是wxWidgets先包含了windows.h,现在头都大了,楞想不到怎么解决,在所有文件最开头定义_WINSOCK2API_都没用

其实最想问的是有没有一劳永逸的解决方法,每次都要注意包含顺序实在是很头痛啊,都不明白ms干嘛在windows.h中定义winsock2中的内容,直接在windows.h中有条件包含winsock2不就什么问题也没了..........................................
...全文
2128 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrdone 2011-08-01
  • 打赏
  • 举报
回复
遇到了同样的问题。
herman~~ 2009-03-26
  • 打赏
  • 举报
回复
我也遇到过同样的问题
当时好像是把socket1的文件全部从系统删除,现在看来是用了笨方法
呵呵,学习
wenning111 2009-03-26
  • 打赏
  • 举报
回复
hemiya说的能解决问题
我也刚用vc不到一个月,居然想不起来,还一个个文件加
baihacker 2009-03-26
  • 打赏
  • 举报
回复
_WINSOCKAPI_
把这个定义一次.
hemiya 2009-03-26
  • 打赏
  • 举报
回复
如果你是用的codeblocks可以在compiler settings的#define加入WIN32_LEAN_AND_MEAN试试,
vc的方法类似,位置不清楚,不用vc.

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧