为什么一包含#include ,就会导致编译错误?

werjkk 2011-05-18 02:59:55
VC2005新建一个控制台工程,没有添加MFC支持。然后加入这个头文件:

#include <Iphlpapi.h>
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}


竟然出了600多行错误:

1>------ Build started: Project: GetMAC, Configuration: Release Win32 ------
1>Compiling...
1>GetMAC.cpp
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(61) : error C2065: 'HRASCONN' : undeclared identifier
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(61) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(74) : error C2146: syntax error : missing ';' before identifier 'dwSize'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(74) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(74) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(75) : error C2146: syntax error : missing ';' before identifier 'hrasconn'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(76) : error C2146: syntax error : missing ';' before identifier 'szEntryName'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(76) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(76) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(98) : error C2146: syntax error : missing ';' before identifier 'dwSize'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(98) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(98) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(99) : error C2146: syntax error : missing ';' before identifier 'hrasconn'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(99) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(99) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(100) : error C2146: syntax error : missing ';' before identifier 'szEntryName'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(100) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(100) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(186) : error C2146: syntax error : missing ';' before identifier 'dwSize'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(186) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(186) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(188) : error C2146: syntax error : missing ';' before identifier 'dwError'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(188) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(188) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(189) : error C2146: syntax error : missing ';' before identifier 'szDeviceType'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(189) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(189) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(190) : error C2146: syntax error : missing ';' before identifier 'szDeviceName'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(190) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(190) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(199) : error C2146: syntax error : missing ';' before identifier 'dwSize'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(199) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(199) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(201) : error C2146: syntax error : missing ';' before identifier 'dwError'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(201) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(201) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(202) : error C2146: syntax error : missing ';' before identifier 'szDeviceType'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(202) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(202) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(203) : error C2146: syntax error : missing ';' before identifier 'szDeviceName'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(203) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(203) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(224) : error C2146: syntax error : missing ';' before identifier 'dwSize'
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ras.h(224) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
... ...
1>GetMAC - 246 error(s), 0 warning(s)
...全文
297 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2011-05-18
  • 打赏
  • 举报
回复
#include <Iphlpapi.h>
前面包含
#inlcude <Windows.h>
kyotrue 2011-05-18
  • 打赏
  • 举报
回复
你少引用了头文件吧,不一定是MFC的头文件。
在你编译得过的工程里面看,出错的类型是在哪个头文件里面定义的。
_free 2011-05-18
  • 打赏
  • 举报
回复
不是新建的工程吧,都有GetMac.cpp了
GetMAC.cpp里面找找问题
werjkk 2011-05-18
  • 打赏
  • 举报
回复
发现建立工程的时候,如何是选择的支持MFC的话,就不会有这个编译的问题。
难道
#include <Iphlpapi.h>
需要被MFC支持么?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧