我用到iphlpapi.h里面的GetTcpTable2和GetPerTcpConnectionEStats函数时报错,未定义
这些函数是在iphlpapi.h头文件里里面声明的,因为一些条件编译指令略过了。我发现需要一个_WS2IPDEF_宏定义和NTDDI_VERSION大于0x06000000,_WS2IPDEF_是在Ws2Ipdef.h头文件里面定义的。加上头文件包含
#include <Ws2Ipdef.h>
还会报错未定义一堆
还需要加上windows.h和winsock2.h两个头文件
另外还需要在iphlpapi.h头文件之前加上这样一句,定义你的系统版本为window10
所以最后的结果就是
#include <windows.h>
#include <winsock2.h>
#include <Ws2Ipdef.h>
#define _WIN32_WINNT 0x0A00
#include <iphlpapi.h>我感觉Mingw不能很好的支持windows api的使用,不是微软原生的编译器。如果用msvc编译器大概不会有这种问题。