wspiapi.h(45) : error C2265: ‘‘ 错误解决

  • 发表于
  • VC

今天编译个源码,编译DLL文件的时候出现错误提示

--------------------Configuration: svchost - Win32 Release--------------------
Compiling...
KernelManager.cpp
\wspiapi.h(45) : error C2265: '' : reference to a zero-sized array is illegal
\wspiapi.h(45) : error C2265: '' : reference to a zero-sized array is illegal
执行 cl.exe 时出错。

shoubull.dll - 4 error(s), 0 warning(s)
其中wspiapi.h我已经安装了。

解决办法:

这个问题为什么会存在呢,这是编写IP多播程序时,要用到ip_mrep结构,在编译时会遇到如下的错误:\include\wspiapi.h(45):error C2265: '':reference to a zero-sized array is illegal。这种错误是由于wspiapi.h头文件里缺少#define _WSPIAPI_COUNTOF语句造成的。

解决办法是:找到你安装的platformsdk/include目录下的wspiapi.h头文件,写如这条语句即可:#define _WSPIAPI_COUNTOF这样就可以了,非常完美。