Win32项目生成MFC错误

时间:2013-09-09 06:07:03

标签: c++ visual-studio-2010 visual-studio visual-c++ mfc

我正在使用Visual Studio 2010中的Win32项目。它正在生成MFC错误,错误如下所示

  

错误C1189:#error:使用/ MD建立MFC应用程序[d](CRT dll版本)需要MFC共享dll版本。请#define _AFXDLL或不要使用/ MD [d]

     

IntelliSense:#error指令:WINDOWS.H已包含在内。 MFC应用程序不得#include

我的问题是为什么WIN32项目正在生成MFC错误,我应该如何删除此错误,请指导我

2 个答案:

答案 0 :(得分:7)

问题是你所包含的标题之一是'afx.h'。标头做的第一件事是检查_DLL是否已定义,如果它存在则查找_AFXDLL并显示此错误消息(如果尚未定义)。这是afx.h的相关位

#ifdef _DLL
#ifndef _AFXDLL
#error Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
#endif
#endif

如果您不想包含MFC,请转到您的项目属性并在 C / C ++ - >下;高级切换显示包含 ON以查看包含afx.h的位置。

答案 1 :(得分:4)

你可以试试这个:

更改

  

项目属性 - >配置属性 - > C / C ++ - >代码生成 - >运行时库

作为

  

多线程DLL(/ MD)