打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
WinSock.h has already been included

解决boost::asio的WinSock.h has already been included

Posted on 2013-02-17 10:35 点点滴滴 阅读(494) 评论(0)  编辑 收藏 引用 所属分类: 02 编程语言

开始使用boost::asio库时,编译碰到这个错误提示:

fatal error C1189: #error :  WinSock.h has already been included

查了下抛出这个错误的boost代码,原来是定义了_WINSOCKAPI_,但没有定义_WINSOCK2API_

那哪里定义了_WINSOCKAPI_呢?

后来在网上查了下,原来是我包含了Windows.h头文件,而Windows.h头文件又包含了WinSock.h这个老东西

 

知道原因就简单了,试了下,方法有三种可解决此错误:

1、在包含Windows.h前定义宏WIN32_LEAN_AND_MEAN,就OK了(WIN32_LEAN_AND_MEAN表示不包含一些极少使用和偏门的资料)

2、在包含Windows.h前包含winsock2.h

3、在包含Windows.h前包含asio.hpp

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
error C2011: 'fd
WinSock控件及WinSockAPI
TCP/UDP网络编程入门教程之九:win32下使用socket
RCF—用于C++的进程间通讯(4)
vc6中 error C2011: 'fd_set' : 'struct' type redefinition 的原因
Windows Firewall/Internet Connection Sharing(ICS) 服务无法启动
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服