退出程序时抛出异常(Ogre3d)

退出程序时出现奇怪的异常。 这是从今天早上开始的,我准备把我的头发拉出来。 一旦我退出程序,visual studio会发出异常并在文件crt0dat.c中的第731行停止(参见附件截图)

我知道这很少继续下去。 我尝试了几件不同的事情:

  • un程序没有做任何事情,也就是说,根本不初始化Ogre Core。 不会导致崩溃
  • 除了创建Ogre根(这与Ogre本身相关,并且与我的代码无关)之外,运行该程序的所有注释都会导致相同的崩溃
  • 运行以下基本程序,仍然会导致崩溃。 在程序运行结束后返回0,发生崩溃
  • #include "windows.h"
    
    #include "OgreRoot.h"
    
    /// --------------------------------------------
    
    INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)
    {
    
        Ogre::Root* lRoot = new Ogre::Root();
    
        delete lRoot;
        lRoot = NULL;
    
        return 0;
    }
    
    /// --------------------------------------------
    

    由于我拥有SVN上的所有内容,因此我在笔记本电脑上运行了相同的项目,并且没有任何问题,并且没有任何问题地退出。 这使我相信我的视觉工作室在某个地方受到了损坏。 我卸载了Visual Studio,然后重新安装了它,但是问题依然存在(当VS安装它时,我的系统无处不在,无法控制它,有人知道完全销毁Visual Studio安装的绝对方法吗?)。 我缺乏想法,很少重新安装Windows。 我希望这里的某个人能够有所帮助。

    调用堆栈:

      048b0910() 
      ntdll.dll!775d9901()  
      [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] 
      ntdll.dll!775edc30()  
      ntdll.dll!775edb7c()  
      kernel32.dll!76c67363()  
    > msvcr90d.dll!__crtExitProcess(int status=0)  + 0x1b bytes C
      msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0)  + 0x1d1 bytes C
      msvcr90d.dll!exit(int code=0)  + 0x12 bytes C
      OgreFWGame.exe!__tmainCRTStartup()  + 0x2a2 bytes C
      OgreFWGame.exe!WinMainCRTStartup()  + 0xf bytes C
      kernel32.dll!76c63677()  
      ntdll.dll!775d9d42()  
      ntdll.dll!775d9d15()  
    

    崩溃Screencapture:
    链接文本


    这不是你应该如何初始化和使用Ogre。 很可能缺少的初始化工作是导致崩溃的原因。

    要开始使用食人魔,我强烈建议遵循并从教程中学习

    编辑:可以在这里找到用于食人魔的visual studio项目模板:http://code.google.com/p/ogreappwizards/updates/list快速入门。


    感谢大家在这个问题上的帮助。 我结束了重新安装Windows(我试图卸载Visual Studio并重新安装它,但卸载VS [我遵循微软的指示信],它会拒绝再次安装[安装程序会崩溃])出了问题。 我希望他们能够轻松卸载Visual Studio。

    在我重新安装Windows之前,我浪费了大约3天的时间。 我的建议是,如果你有另一台计算机继续做你的工作,如果发生这样的事情发生,而不是浪费时间,就是做同样的事情。 如果您确实找到解决问题的方法,请让我知道:)


    我最近在Visual Studio 2010中设置了魔鬼,并且直到我复制到正确的DLL中时它才拒绝正常工作 - 我一直在使用Visual Studio 2008中稍微老一点的食人魔编译的一套。它听起来像整个食人魔编译或这些DLL可能已经通过SVN被复制过,这可能会导致奇怪的问题。

    无论如何,希望它有帮助。

    链接地址: http://www.djcxy.com/p/17105.html

    上一篇: Exception thrown when exiting program (Ogre3d)

    下一篇: 3D game engine for networked world simulation / AI sandbox