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不就什么问题也没了..........................................

如果你是用的codeblocks可以在compiler settings的#define加入WIN32_LEAN_AND_MEAN试试,vc的方法类似,位置不清楚,不用vc.

原文:http://www.cnblogs.com/Billy-rao/p/4122406.html

转载于:https://www.cnblogs.com/justkong/p/4776135.html

windows.h和winsock2.h包含顺序问题(转)相关推荐

  1. windows.h与winsock2.h的包含顺序

    大凡在Windows平台下用C++做网络开发很多时候都会同时包含这两个头文件,如若顺序不当(windows.h先于winsock2.h)就会出现很多莫名其妙的错误.诸如: 警告    4    war ...

  2. #include Windows.h 和 Winsock2.h冲突的改进解决方案

    #include <Windows.h> #include <Winsock2.h> 上面的代码会导致重定义错误, 原因就是 Windows.h 中包含了 Winsock.h( ...

  3. 关于WINSOCK.H与winsock2.h中的重定义解决办法分析

    windows.h与winsock2.h的包含顺序 大凡在Windows平台下用C++做网络开发很多时候都会同时包含这两个头文件,如若顺序不当(windows.h先于winsock2.h)就会出现很多 ...

  4. vs编译时WinSock2.h级ws2def.h大量报错

    解决方法: 如果有文件包含windows.h及WinSock2.h务必保证顺序为 #include "Winsock2.h" #include "windows.h&qu ...

  5. 关于winsock2.h的重定义解决办法

    问题描述:在 VC 6.0中使用socket相关的函数时没有什么问题,可是到了.net下就有以下类似的错误, [C++ Error] winsock2.h(109): E2238 Multiple d ...

  6. c语言windows头文件包含,不包含windows.h和window.h内的任何头文件,弹框 “Hello, world!”...

    本帖最后由 天上飞来一只 于 2020-10-22 15:36 编辑 前言:在windows应用程序下,不包含windows.h和window.h内的任何头文件,弹框 "Hello, wor ...

  7. winsock2.h与afxsock.h

    1.AfxSock.h 中包含了 AfxSocketInit CAsyncSocket CSocket CSocketFile 等. 2.winsock2.h在afxsock.h前使用. 3.wins ...

  8. 使用PowerBuilder 9编绎DLL类型,有点问题.处理过程记录如下.”Error opening file ‘c:\windows\system32\cgen\en32t.h’”

    使用PowerBuilder 9编绎DLL类型,有点问题.处理过程记录如下."Error opening file 'c:\windows\system32\cgen\en32t.h'&qu ...

  9. Ubuntu使用Windows下的conio.h

    把虚线框里面的内容粘贴进文档文本里面 --------------------------------------------------------------------------------- ...

最新文章

  1. c#中什么情况下用(int)什么情况下用Convert.ToInt32
  2. 爬一爬 iPhone 11为何嘴上说真丑,销量却真香?
  3. 7-spark学习笔记-spark性能调优
  4. Web 趋势榜:上周最有意思、又实用的 10 大 Web 项目 - 210730
  5. FFmpeg优化 苏宁PP体育视频剪切效率提升技巧
  6. MongoDB高可用集群搭建
  7. 用jsp实现右导航窗格_手机导航如何投放到汽车中控屏?建议用这2种办法,轻松实现同屏...
  8. Linux下进程的建立 并附Linux exec函数族
  9. 数据同步一致性_微服务架构:利用事件驱动实现最终一致性
  10. rhino5 犀牛5 插件gh grasshopper 100%深度汉化 中文版 汉化版GH下载
  11. 第二章 python自定义函数与类(一)
  12. Flixel Dame 坦克大战(二)Dame-editor使用指南
  13. Go:一次 exit code 是 137 且 无 coredump 的排错经历
  14. 智能枕头里究竟藏有什么“智能”故事?
  15. vue-cli 项目打包后 代理接口报404错误 解决办法!
  16. 书单 | 测试工程师必读经典好书,你读过几本?
  17. 光流(七)--Brox算法(DeepFlow)
  18. 手机edge浏览器无法打开三方应用
  19. 弄懂这56个Python技巧,秒变Python大神
  20. 人脸识别撞脸名画_人脸识别趣谈——从韩国女星的撞脸说起

热门文章

  1. centos安装后两个启动项、_Windows安装Centos7双系统后Windows启动项消失
  2. java算法之冒泡排序
  3. 洛谷 P1063 能量项链 区间dp
  4. hdu 5785 Interesting(manacher+前缀和)
  5. SharePoint要在master page中动态显示List数据的几种方式
  6. setsockopt()用法(转载)
  7. 三瞬属性matlab,matlab:out of memory 1
  8. 面试必备:synchronized的底层原理?
  9. 支付宝支付-手机浏览器H5支付
  10. Android 柱状图