Когда я пытаюсь скомпилировать мой проект c ++ с использованием Visual Studio 2010 в режиме Win32 или x64, я получаю следующую ошибку:
>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(135): fatal error C1189: #error : "No Target Architecture"
В моих определениях препроцессора говорится WIN32; _DEBUG;_CONSOLE;% (PreprocessorDefinitions)
Что является причиной этой ошибки и как ее исправить?
// winnt.h: lines 127-136, MSVS says this is an inactive preprocessor block
#if defined(_WIN64)
#if defined(_AMD64_)
#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif defined(_IA64_)
#define PROBE_ALIGNMENT( _s ) (TYPE_ALIGNMENT( _s ) > TYPE_ALIGNMENT( DWORD ) ? \
TYPE_ALIGNMENT( _s ) : TYPE_ALIGNMENT( DWORD ))
#else
#error "No Target Architecture"
#endif
Обновление: я создал новый проект msvs и скопировал в него свой код.У меня больше нет error : "No Target Architecture"
, но теперь у меня есть куча ошибок компиляции, включая winnt.h и winbase.h, и никаких ошибок компиляции, связанных с любым из моих файлов.Возможно ли, что эти файлы повреждены?Нужно ли переустанавливать MSVS 2010?
Обновление 2: поэтому я сузил свою проблему и обнаружил, что именно #include <WinDef.h>
вызывает все мои ошибки компиляции с winnt.h, но я до сих пор не знаюкак это исправить.