visual studio plantillas para extensions extension descargar create code best visual-studio-2010 visual-c++ mfc

visual-studio-2010 - extensions - descargar plantillas para visual studio 2017



Visual Studio 2010 incluye MFC aunque se especifique la aplicación de consola vacía(C++) (3)

Averigüe qué incluye los encabezados de MFC: la opción /showIncludes puede ayudar con eso.

En la página de propiedades del proyecto IDE, debajo de:

C/C++ | Advanced | Show Includes

Una vez que sepa quién los incluye, puede tomar una decisión sobre cómo solucionar el problema; es posible que simplemente pueda eliminar un #include errante, pero puede ser necesario descartar una biblioteca que está utilizando que depende de MFC.

Pasé la mayor parte del día tratando de descubrir por qué ocurre este error, pero continúa desconcertando.

Creé una aplicación de consola en Visual C ++ y la especifiqué que estaba vacía. Después de poner toda mi fuente en la carpeta virtual y compilarla, se produjo un error:

c: / archivos de programa / microsoft visual studio 10.0 / vc / atlmfc / include / afx.h (24): error fatal C1189: #error: la creación de la aplicación MFC con / MD [d] (versión CRT dll) requiere la versión DLL compartida de MFC . Por favor, defina _AFXDLL o no use / MD [d]

c: / archivos de programa / microsoft visual studio 10.0 / vc / atlmfc / include / afx.h (24): error fatal C1189: #error: la creación de la aplicación MFC con / MD [d] (versión CRT dll) requiere la versión DLL compartida de MFC . Por favor, defina _AFXDLL o no use / MD [d]

c: / archivos de programa / microsoft visual studio 10.0 / vc / atlmfc / include / afx.h (24): error fatal C1189: #error: la creación de la aplicación MFC con / MD [d] (versión CRT dll) requiere la versión DLL compartida de MFC . Por favor, defina _AFXDLL o no use / MD [d]

Extraño error, de hecho, porque nunca incluí ningún archivo 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 generó este error:

c: / archivos de programa / microsoft visual studio 10.0 / vc / atlmfc / include / afxv_w32.h (16): error fatal C1189: #error: WINDOWS.H ya está incluido. Las aplicaciones MFC no deben incluir #include windows.h

c: / archivos de programa / microsoft visual studio 10.0 / vc / atlmfc / include / afxv_w32.h (16): error fatal C1189: #error: WINDOWS.H ya está incluido. Las aplicaciones MFC no deben incluir #include windows.h

Intenté todo lo que pude 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 especifiqué. ¿Alguien puede arrojar algo de luz sobre este problema? ¡Gracias!


Asegúrese de que ''USE of MFC'' esté en la configuración ''Usar MFC en una DLL compartida''. Eso lo solucionó para mí.


Si se requiere MFC, establezca los siguientes valores (Debug / Win32):

Propiedades de configuración> General:

Uso de MFC: use MFC en una DLL compartida

Propiedades de configuración> C / C ++> Generación de código:

Biblioteca en tiempo de ejecución: / MDd

Si no se requiere MFC, y solo se requieren bibliotecas de ventanas estándar, mantenga la configuración como se indica a continuación.

Propiedades de configuración> General:

Uso de MFC: use las bibliotecas estándar de Windows

Propiedades de configuración> C / C ++> Generación de código:

Biblioteca en tiempo de ejecución: / MTd