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.h
dentro 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.