Ошибка компиляции в 'winbase.h'
При компиляции 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;
}
Ответы
Ответ 1
Включаете ли вы непосредственно <winbase.h>
?
Вы не должны - он ожидает, что некоторые вещи будут определены/объявлены до его обработки. В частности, в этом случае идентификатор ULONG_PTR
, который объявлен как typedef в intsafe.h
.
Включить <windows.h>
.
Ответ 2
Вероятно, вам не хватает ;
непосредственно перед строкой #include <windows.h>
в вашем коде. Кроме того, есть некоторый текст, похожий на идентификатор, который предшествует строке файла include.
int ABC
#include <windows.h>
Ответ 3
Если ваш код в порядке, и перед точкой #include "winbase.h"
нет пропущенных точек с запятой, тогда он должен быть отсутствующим, перед winbase.h
(или одним из файлов, который включает его).