Quando provo a compilare il mio progetto c ++ utilizzando Visual Studio 2010 in modalità Win32 o x64 ottengo il seguente errore:
>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(135): fatal error C1189: #error : "No Target Architecture"
Le definizioni del mio preprocessore dicono WIN32; _DEBUG; _CONSOLE;% (PreprocessorDefinitions)
Qual è la causa di questo errore e come posso risolverlo?
// 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
Aggiornamento: ho creato un nuovo progetto msvs e vi ho copiato il codice. Non ce l'ho più error : "No Target Architecture"
, ma ora ho un sacco di errori di compilazione che coinvolgono winnt.he winbase.he nessun errore di compilazione che coinvolge nessuno dei miei file. È possibile che questi file siano danneggiati? Devo reinstallare MSVS 2010?
Aggiornamento 2: quindi ho ristretto il mio problema e ho scoperto che è #include <WinDef.h>
quello che causa tutti i miei errori di compilazione con winnt.h ma non so ancora come risolverlo.