Lorsque j'essaie de compiler mon projet c++ avec Visual Studio 2010 en mode Win32 ou x64, j'obtiens l'erreur suivante :
>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(135): fatal error C1189: #error : "No Target Architecture"
Mes définitions de préprocesseur disent WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
Quelle est la cause de cette erreur et comment puis-je la corriger ?
// 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
Mise à jour : j'ai créé un nouveau projet msvs et j'y ai copié mon code. Je n'ai plus de error : "No Target Architecture"
Mais maintenant j'ai un tas d'erreurs de compilation impliquant winnt.h et winbase.h et aucune erreur de compilation n'impliquant aucun de mes fichiers. Est-il possible que ces fichiers soient corrompus ? Dois-je réinstaller MSVS 2010 ?
Mise à jour 2 : J'ai réduit mon problème et j'ai découvert qu'il s'agit de #include <WinDef.h>
qui est à l'origine de toutes mes erreurs de compilation avec winnt.h mais je ne sais toujours pas comment y remédier.