He pasado la mayor parte del día tratando de descubrir por qué ocurre este error, pero me sigue desconcertando.Visual Studio 2010 incluye MFC aunque se especifique la aplicación de consola vacía (C++)
Creé una aplicación de consola en Visual C++ y la especifiqué que estaba vacía. Después de poner todo de mi fuente en la carpeta virtual y la compilación ha producido un error:
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
extraño error de hecho, porque nunca he incluido los archivos de MFC. Así que remediaba la situación especificando "/ MT" en la configuración de generación de código.
Esto funcionó bien ... hasta que decidí incluir "Windows.h", que dio lugar a este error:
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxv_w32.h(16): fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include windows.h
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxv_w32.h(16): fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include windows.h
He intentado todo lo que podía pensar, incluyendo la recreación del proyecto con y sin encabezados precompilados, una aplicación Win32 en lugar de consola y una aplicación WxWidget. Todas estas aplicaciones aparentemente intentan incluir MFC aunque nunca lo haya especificado. ¿Alguien puede arrojar algo de luz sobre este problema? ¡Gracias!
Bueno, lo que hace su mirada código como? ¿Qué encabezados estás incluyendo? ¿Puedes demostrar una reproducción mínima? –
http://pastebin.com/VWsTC6vc Parece que es el problema. Estoy usando la biblioteca CMarkup para el trabajo XML. Aparentemente usa Cstrings, la curiosidad me tiene preguntando si funcionará sin MFC incluido, pero no tengo idea de cómo hacerlo. –