【问题标题】:why afxwin.h and afxmt.h cause VC++2008 Form App crash?为什么 afxwin.h 和 afxmt.h 会导致 VC++2008 Form App 崩溃?
【发布时间】:2011-12-13 21:07:08
【问题描述】:

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

然后我必须将 afxwin.hafxmt.h 添加到 stdafx.h 中才能正常编译。但是当我运行它时,它会因以下信息而崩溃:

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

我的项目配置是这样的:

如果我将 Common Language Runtime Support 更改为 No Common Language Runtime Support。 IDE生成的代码无法编译。其他选择也不好。

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

编辑:

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

编辑 2:

如果我运行 Release,它会起作用。为什么??

【问题讨论】:

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


    【解决方案1】:

    在这种情况下,MFC 未正确初始化。右键单击您的 Winforms 项目、属性、链接器、输入。将“强制符号引用”设置为__DllMainCRTStartup@12

    连接反馈文章is here

    【讨论】:

    • 您的解决方案有效(谢谢!),但引用的 Connect 文章似乎已消失。您是否知道任何其他提供更深入信息的资源?
    • 微软在 VS2012 和 Windows 8 发布前不久删除了大量旧反馈项。我对此无能为力,先用谷歌搜索背景信息,然后再问一个问题。
    猜你喜欢
    • 2021-04-14
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多