Cuando intento compilar mi proyecto C++ utilizando Visual Studio 2010 en modo de Win32 o x64 me sale el siguiente error:Fatal error: "No Arquitectura de destino" en Visual Studio
>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(135): fatal error C1189: #error : "No Target Architecture"
mis definiciones del preprocesador diga WIN32; _DEBUG; _CONSOLE;% (PreprocessorDefinitions)
¿Qué está causando este error y cómo lo soluciono?
// 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
Actualización: Creé un nuevo proyecto de msvs y copié mi código en él. Ya no tengo error : "No Target Architecture"
, pero ahora tengo un montón de errores de compilación que involucran winnt.h y winbase.h y no hay errores de compilación que involucren ninguno de mis archivos. ¿Es posible que estos archivos estén dañados? ¿Debo reinstalar MSVS 2010?
Actualización 2: Así que reduje mi problema y descubrí que es #include <WinDef.h>
el que causa todos mis errores de compilación con winnt.h pero sigo sin saber cómo solucionarlo.
¿Cómo configuro la arquitectura de destino para mi proyecto? – philipvr
Un proyecto de vanilla no falla de esta manera. ¿Qué has cambiado de un proyecto de vanilla? ¿Qué hay en la línea 135 de winnt.h? ¿Has mirado esa línea del archivo de encabezado? El mensaje de error te está dando ayuda. –
deberías poder resolverlo desde aquí; probablemente necesite regresar antes de la línea 127 para obtener una imagen completa. Parecería claro que Edwin estaba en lo correcto. –