visual c++ - studio - error Por favor#define_AFXDLL o no use/MD[d] aparece incluso después de hacer cambios en Propiedades del proyecto
visual studio no guarda cambios (5)
Agregue #define _AFXDLL
indirectamente mediante una configuración de configuración de proyecto
Estoy trabajando en el proyecto Win32 en Visual Studio 2011. Está generando un error MFC cuando incluyo afx.h o afxwin.h. Para resolver esto, realicé los siguientes cambios en la pestaña Propiedades del proyecto: 1) Uso de MFC: use MFC en una DLL compartida 2) C ++ -> Generación de código -> Runtime Library -> DLL de depuración multihilo (/ MDd)
Todavía me da error de seguimiento cuando construyo la solución:
1>C:/Program Files (x86)/Microsoft Visual Studio 11.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]
Mi pregunta es por qué el proyecto Win32 está generando un error MFC y cómo debería eliminar este error. Con gusto guíame.
En Visual Studio 2011, esto funcionó para mí:
Project -> "project" Properties -> Configuration Properties -> C/C++ -> Advanced -> Show Includes:
YES(/showIncludes)
Project -> "project" Properties -> Configuration Properties -> General -> Project Defaults -> Use of MFC :
Use MFC in a shared DLL
En mi experiencia es un paso de dos maneras. supongamos que desea vincular STATIC: a) establecer " Usar MFC en una biblioteca estática " b) agregar: #define _AFXDLL 1 en stdafx.h
trabaja en VS 2012
Luché con un problema similar. En mi caso, fue causado por la configuración que se adjuntaron a archivos cpp individuales. Como contenían símbolos de preprocesador, en realidad bloqueaban las configuraciones de nivel del proyecto (o utilería) que utilizan símbolos de preprocesador.
Por lo tanto, verifique si tiene configuraciones de nivel de archivo en su vcxproj. Si lo hace, verifique si son iguales a la configuración del nivel del proyecto. Si lo son, puedes eliminarlos de forma segura. Si hay diferencias, debes resolverlas.
La configuración del nivel de archivo Cpp generalmente debe estar vacía (existen algunas excepciones cuando las necesita), pero es bastante fácil agregarlas por accidente.
Tuve el mismo problema, pero solo lo resolví cuando me di cuenta de que tenía que establecer el indicador "Usar MFC en una DLL compartida" para las configuraciones de depuración y liberación (solo lo había configurado para la depuración).