Когда я пытаюсь скомпилировать свой проект c ++ с помощью Visual Studio 2010 в режиме Win32 или x64 Я получаю следующую ошибку:
> C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ include \ winnt.h (135): фатальная ошибка C1189: #error: «Нет целевой архитектуры»
Мои определения препроцессора говорят: 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 и скопировал в него свой код. У меня больше нет ошибки : «Нет целевой архитектуры»
, но теперь у меня есть несколько ошибок компиляции, связанных с winnt.h и winbase.h, и ошибок компиляции, связанных с какими-либо из моих файлов. Возможно, эти файлы повреждены? Нужно ли мне переустанавливать MSVS 2010?
Обновление 2: я сузил круг своей проблемы и обнаружил, что все мои ошибки компиляции с winnt.h вызывает #include
но я до сих пор не знаю, как это исправить.