WinSock2.h和windows.h发送冲突的解决方法
2017-09-27 13:51
225 查看
发生冲突的原因是windows.h里面包含了winsock.h,
而winsock.h和WinSock2.h明显是冲突的。
解决办法是把windows.h放在WinSock2.h的后面。
为什么这样做可以呢?我们看WinSock2.h里面有这么一段代码:
#ifndef _WINSOCK2API_
#define _WINSOCK2API_
#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
其中定义了_WINSOCKAPI_宏就可以阻止winsock.h的内容被包含进来,
因为winsock.h里面是这样的:
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
......
#endif
而winsock.h和WinSock2.h明显是冲突的。
解决办法是把windows.h放在WinSock2.h的后面。
为什么这样做可以呢?我们看WinSock2.h里面有这么一段代码:
#ifndef _WINSOCK2API_
#define _WINSOCK2API_
#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
其中定义了_WINSOCKAPI_宏就可以阻止winsock.h的内容被包含进来,
因为winsock.h里面是这样的:
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_
......
#endif
相关文章推荐
- 输入法的回车与消息发送快捷键回车的冲突解决方法
- numeric_limits::max()和windows.h冲突的解决方法
- windows关机命令与tomcat的shutdown命令冲突解决方法
- windows关机命令与tomcat的shutdown命令冲突解决方法
- windows关机命令与tomcat的shutdown命令冲突解决方法
- javamail发送邮件时遇到mail包冲突异常 解决方法
- QT项目在VS上的编译,windows.h与winsock2.h存在多个重定义的问题的解决方法。
- Windows 2003设置PHP扩展支持OpenSSL的解决方法 服务器发送邮件
- Onenote 13与Windows 10冲突之解决方法
- windows完成端口 等待客户端发送一次消息才能完成AcceptEx操作的解决方法
- 发送邮件时遇到mail包冲突异常Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 解决方法
- numeric_limits::max()和windows.h冲突的解决方法
- numeric_limits::max()和windows.h冲突的解决方法
- java串口通信:发送一条数据,接收分好几次接收解决方法
- JQuery的学习:解决jQuery与其他库冲突的方法
- windows下 wxPython 无法导入的解决方法
- windows命令行编码与nodejs编码格式冲突的解决方式
- ViewPager和SlidingPaneLayout的滑动事件冲突解决方法
- windows删除文件时提示找不到该项目的解决方法
- Vista和win7_Windows_Installer错误解决方法