编译'winbase.h'中的错误

时间:2011-09-07 21:27:48

标签: c++ visual-studio-2008 winapi

编译winbase.h时,我在Windows文件中收到以下错误。

我不确定为什么会出现语法错误,编译器会显示更多内容:

1> c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(238) : 
   error C2146: syntax error : missing ';' before identifier 'Internal'

这是一个重现问题的简单代码:

#include <winbase.h>

int main()
{
    return 0;
}

3 个答案:

答案 0 :(得分:52)

您是否直接加入<winbase.h>

你不应该 - 它希望在处理之前定义/声明一些东西。特别是在这种情况下,标识符ULONG_PTRintsafe.h中被声明为typedef。

包括<windows.h>

答案 1 :(得分:3)

您可能在代码中的;行之前错过了#include <windows.h>。或者,在包含文件行之前有一些类似标识符的文本。

int ABC
#include <windows.h>

答案 2 :(得分:1)

如果你的代码没问题,并且在#include "winbase.h"之前没有丢失的分号,那么它应该是winbase.h之前缺少的包含(或者包含它的文件之一)。