1. #include <Windows.h>
  2. #include <Winsock2.h>

上面的代码会导致重定义错误, 原因就是 Windows.h 中包含了 Winsock.h(不是Winsock2.h) , 百度的解决方案是加入

[cpp] view plaincopyprint?
  1. #define WIN32_LEAN_AND_MEAN

编译通过, OK!

然而, 由于使用socket的项目是DLL项目, 当把该DLL引用到其它项目中(如DUILIB)就会发生错误, 错误就是WIN32_LEAN_AND_MEAN引起的, 因此该方案需要改进.

经过测试, 发现如下代码可以解决上述问题

[cpp] view plaincopyprint?
  1. #define _WINSOCKAPI_
  2. #include <Windows.h>
  3. #include <Winsock2.h>

搞定.

#include Windows.h 和 Winsock2.h冲突的改进解决方案相关推荐

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

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

  2. windows.h和winsock2.h包含顺序问题(转)

    windows.h和winsock2.h有类型重定义我是知道的, 本来就一个库来说没问题,把winsock2放到windows.h前或先定义WIN32_LEAN_AND_MEAN都能解决问题 但现的出 ...

  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. error C1189: #error : WINDOWS.H already included. MFC apps must not #include windows.h

    http://ghyan1208.blog.163.com/blog/static/162866676201072511746382/ 错误原因主要是因为#include <afx.h>这 ...

  7. MFC apps must not include windows.h

    用VS2008建立一个DLL项目,一开始的时候不想用MFC, 所以选择的是使用标准Windows库. 使用了一段时间后又想用MFC了,所以把选项改成使用在共享 DLL 中使用 MFC. 但是编译的时候 ...

  8. VC6.0编写BHO #error : WINDOWS.H already included. MFC apps must not #include windows.h

    VC6.0编写BHO #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h> 在StdA ...

  9. C++睡眠延时函数 Sleep() usleep()(windows.h、unistd.h)

    c++ 标准库并不支持睡眠函数 (1).windows下支持,需要引入头文件windows.h,切记Sleep首字母大写 #include <iostream> #include < ...

最新文章

  1. 你哪来这么多事(六):职工信息查找
  2. 将iPad, iPhone直投屏幕用于TEASOFT课程录制
  3. 在最美好的年华里,不要辜负最美的自己
  4. 曹大带我学 Go(5)—— 哪里来的 goexit
  5. mongodb存list_查询 MongoDB 子文档的 List 字段
  6. c++: size_type与 size_t一些概念
  7. python如何执行代码漏洞_命令执行与代码执行漏洞原理
  8. 项目管理学习总结(7)——阿里云架构师:技术高手转向管理体会
  9. 翻译成汉语的英文版书籍,为什么会薄很的原因
  10. Julia语言初体验
  11. 【图像去噪】基于matlab高斯+低通+巴特沃斯滤波虹膜图像滤波【含Matlab源码 501期】
  12. Android 最常用的设计模式二 安卓Rxjava源码分析—观察者模式Observer(有实例)
  13. HanLp的应用 - 真实使用
  14. 小米MIUI线刷包cust.img、system.img精简教程(二)
  15. AtCoder题解 —— AtCoder Regular Contest 108 —— A - Sum and Product
  16. Android手电筒开发
  17. C# Dev GridView自定义底部统计单元格
  18. 产品思维的修炼–技术的必修课
  19. jpg转bmp操作方法
  20. gentoo命令行刻录

热门文章

  1. NR 5G 协议层服务和功能
  2. linux基础-网络基础知识篇
  3. Android从零开始(第三篇)MVP架构搭建
  4. sql server 内存初探
  5. freemarker.template.TemplateException: Expected string. column.nullable evaluated instead to freemar
  6. Centos升级php mysql
  7. shell脚本的规范
  8. 聊聊rocketmq的RemotingException
  9. K8S调度之pod亲和性
  10. php 常用数组操作