将项目从VS2008迁移到VS2013

时间:2020-04-30 12:02:53

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

我正在将一个项目从VS2008迁移到VS2013。当前在运行应用程序时遇到问题。 它说:

**Debug assertion failed**
Program C:\Windows\SYSTEM32\mfc120d.dll
FILE: f:\dd\vctools\vclibs\ship\atlmfc\src\mfc\doctempl.cpp
LINE: 25

这是代码出现问题的地方:

cpFormDefDocTemplate = new CMultiDocTemplate(
        MAIDR_MAINFRAME,
        RUNTIME_CLASS(EHF_ManagerDoc),
        RUNTIME_CLASS(EHF_ManagerChildFrame),       // main SDI frame window
        RUNTIME_CLASS(EHF_ManagerView));

我不确定该如何进行。需要帮助。预先感谢。

1 个答案:

答案 0 :(得分:0)

当您说“我已经检查了代码”时,实际的ASSERT语句是什么?绝对不是您发布中的代码。显示该代码(ASSERT语句所在的代码)。

例如,这是VS2008的代码,我在第25行周围突出显示了(VS2013可能相似,但不完全相同):

enter image description here

这是您需要查看的代码。您的代码是您的CTOR,它隐式地链接回此MFC ctor,从而导致ASSERT。您的文档,框架或视图未正确移植。特定的ASSERT会告诉您哪一个(实际上可能是全部3个,到目前为止只是第一个的ASSERTing)。