[Visual Studio .NET 2003] почему не компилится?

erotic

 #include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
INPUT input;
....

Компилятор пишет " error C2065: 'INPUT' : undeclared identifier", хотя структура INPUT должна быть определена в WinUser.h, но она там определена с условием #if (_WIN32_WINNT > 0x0400). При этом в функции WinMain макрос _WIN32_WINNT уже не определен...
В чем дело?

okunek

найди где у тебя определяется _WIN32_WINNT и исправь его на что-нибудь больше, 0x0500
если его нет, то соответственно надо добавить перед #include <windows.h>

erotic

Он определяется в WinResrc.h и равен 0x0500... т.ч. я ничего не понимаю

rosali

А ты уверен, что под NT собираешься?

erotic

Чаго?..
В общем, Win2003 SP1 стоит. Или я не понимаю чего-то?

bobby

Ну вообще в windows.h так написано:
#if defined(RC_INVOKED) && !defined(NOWINRES)
#include <winresrc.h>
#else
.....
#endif

RC_INVOKED определяют компиляторы ресурсов, у тебя он не задефайнен, имхо.
Вообще поищи где-нибудь, зачем макрос RC_INVOKED и хедер WinResrc.h нужны.
Когда мне нужно было использовать что-то NT-specific, я руками определял _WIN32_WINNT.

erotic

Ок,спасибо.
Оставить комментарий
Имя или ник:
Комментарий: