Quando tento compilar meu projeto c ++ usando o Visual Studio 2010 no modo Win32 ou x64, recebo o seguinte erro:
>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(135): fatal error C1189: #error : "No Target Architecture"
Minhas definições de pré-processador dizem WIN32; _DEBUG; _CONSOLE;% (PreprocessorDefinitions)
O que está causando esse erro e como faço para corrigi-lo?
// 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
Atualização: criei um novo projeto msvs e copiei meu código para ele. Eu não tenho mais error : "No Target Architecture"
, mas agora tenho um monte de erros de compilação envolvendo winnt.h e winbase.h e nenhum erro de compilação envolvendo nenhum dos meus arquivos. É possível que esses arquivos estejam corrompidos? Eu preciso reinstalar o MSVS 2010?
Atualização 2: diminuí meu problema e descobri que é ele #include <WinDef.h>
que está causando todos os meus erros de compilação com winnt.h, mas ainda não sei como corrigi-lo.