为什么afxwin.h和afxmt.h导致VC ++ 2008 Form App崩溃?

时间:2011-12-13 21:07:09

标签: .net visual-studio-2008 visual-c++

我正在创建一个 VC ++ 2008 Windows窗体应用程序,它需要我们旧的 VC6项目中的一些类

然后我必须将 afxwin.h afxmt.h 添加到 stdafx.h 中以使编译正常。但是当我运行它时,它就会崩溃:

enter image description here

为了找到原因,我从旧项目中删除了所有文件,只留下IDE创建的文件(专业版)。它仍然是一样的。然后我在 stdafx.h 文件中注释掉 #include afxwin.h afxmt.h ,它工作正常(仍然没有旧文件)。如果放回那些 #include ,它将再次崩溃。

我的项目配置是这样的: enter image description here

如果我将公共语言运行时支持更改为无公共语言运行时支持。 IDE生成的代码无法编译。其他选择也不好。

必须有办法避免崩溃。有人可以帮帮我吗?

修改

在错误对话框窗口中,有一行:文件:f:\ dd \ vctools \ crt_dbd \ self_x86 \ crt \ src \ dbgheap.c 但我没有 f 在我的机器上开车。为什么??

编辑2:

如果我运行发布,它会有效。为什么??

1 个答案:

答案 0 :(得分:2)

在这种情况下,MFC未正确初始化。右键单击Winforms项目,Properties,Linker,Input。将“强制符号引用”设置为__DllMainCRTStartup@12

连接反馈文章is here