Dr.*_*nja 8 mfc visual-studio-2010 visual-c++
我花了大部分时间试图弄清楚为什么会出现这种错误,但这仍然让我感到困惑.
我在Visual C++中创建了一个控制台应用程序,并将其指定为空.将我的所有源代码放入虚拟文件夹并编译后发生错误:
c:\ program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24):致命错误C1189:#error:使用/ MD建立MFC应用程序[d](CRT dll版本)需要MFC共享dll版本.请#define _AFXDLL或不要使用/ MD [d]
c:\ program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24):致命错误C1189:#error:使用/ MD建立MFC应用程序[d](CRT dll版本)需要MFC共享dll版本.请#define _AFXDLL或不要使用/ MD [d]
c:\ program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24):致命错误C1189:#error:使用/ MD建立MFC应用程序[d](CRT dll版本)需要MFC共享dll版本.请#define _AFXDLL或不要使用/ MD [d]
确实存在奇怪的错误,因为我从未包含任何MFC文件.所以我通过在代码生成设置中指定"/ MT"来纠正这种情况.
这很好用......直到我决定包含"Windows.h",它产生了这个错误:
c:\ program files\microsoft visual studio 10.0\vc\atlmfc\include\afxv_w32.h(16):致命错误C1189:#error:WINDOWS.H已包含在内.MFC应用程序不能#include windows.h
c:\ program files\microsoft visual studio 10.0\vc\atlmfc\include\afxv_w32.h(16):致命错误C1189:#error:WINDOWS.H已包含在内.MFC应用程序不能#include windows.h
我已经尝试了我能想到的一切,包括使用和不使用预编译头文件重新创建项目,Win32应用程序而不是控制台,以及WxWidget应用程序.所有这些应用程序似乎都试图包含MFC,即使我从未指定过.任何人都可以解释这个问题吗?谢谢!
找出包含MFC标头的内容 - 该/showIncludes
选项可能对此有所帮助.
在IDE项目属性页面中的哪个位于:
C/C++ | Advanced | Show Includes
Run Code Online (Sandbox Code Playgroud)
一旦你知道谁包含它们你就可以决定如何解决问题 - 你可能只是能够删除一个错误#include
,但它可能需要抛弃你正在使用的依赖于MFC的库.