标签:MAP windows IP ADAPTER winsock2 error include
编译时,报错:
error: unknown type name 'IP_ADAPTER_ADDRESSES'; did you mean 'IP_ADAPTER_ORDER_MAP'?
这是什么情况?搜索吧,找到这篇:https://stackoverflow.com/questions/50613715/error-when-i-use-ip-adapter-addresses
其中有这么一段:
尝试更换的顺序windows.h和winsock2.h。
iptypes.h仅在winsock2.h使用时声明受影响的类型和常量,但windows.h使用winsock.h代替,这会干扰winsock2.h。
如果winsock2.h在此之前添加windows.h,winsock2.h则将禁用winsock.h
其实并没有完全看明白。
然后查看了 winsock2.h 的定义,其中看到一句:
#ifndef _WINSOCK2API_ #define _WINSOCK2API_ #include <_mingw_unicode.h> #ifndef _WINSOCKAPI_ #define _WINSOCKAPI_ #else #warning Please include winsock2.h before windows.h <--- 注意这一行 #endif
意思是,在 #include <...> 的时候,应该:
#include <winsock2.h> #include <Iphlpapi.h> #include <Windows.h>
我再看我的代码,原本是这样写的:
#include <Windows.h> #include <winsock2.h> #include <Iphlpapi.h>
也就是把顺序调一下。
标签:MAP,windows,IP,ADAPTER,winsock2,error,include 来源: https://www.cnblogs.com/personnel/p/14224855.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。