Saltar al contenido

MFC no admite WINVER inferior a 0x0501

Por fin luego de tanto trabajar pudimos encontrar el arreglo de este asunto que agunos usuarios de nuestro sitio tienen. Si tienes alguna información que aportar no dudes en compartir tu conocimiento.

Solución:

Todas las aplicaciones MFC definen el WINVER macro valor en alguna parte si no lo definiste tú mismo. Supongo que MS ha eliminado la definición de forma predeterminada en sus propios archivos de encabezado y ahora es obligatorio que la defina explícitamente.

Entonces, para resolver su problema, coloque el #define en las opciones del compilador de su ‘preprocesador’, o en la parte superior de su encabezado precompilado (es decir, stdafx.h).

Nota 0x501 es soporte de Windows XP. 0x600 es vista, 0x601 es Windows 7, ¡y qué triste estoy por recordar eso!

Recibí el mismo error, en Windows 7 con Visual Studio 2013.

En mi caso, mi proyecto tenía un archivo fuente con nombre stdafx.hdentro de ese archivo había

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif

lo cambié a

#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x601
#endif

y el error desapareció.

Por defecto, WINVER se define como 0x0500 en el preprocesador. Para solucionar este error, elimine la versión ganadora definida “WINVER=0x0500” de Propiedades de configuración => c/c++ => pestaña Preprocesador y reconstruya.

O puede proporcionar una VERSIÓN WIN superior como #define _WIN32_WINNT 0x601 en su código dondequiera que obtenga un error.

Si aceptas, tienes la opción de dejar un escrito acerca de qué le añadirías a este enunciado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *