pstatus"> 本帖最后由 茵为你值得 于 2013-9-19 09:46 编辑
关于Ogre的调试问题 1、 如果要启动debug模式,务必使用文件:resources_d.cfg 2、 运行如果出现错误,务必查看文件:Ogre.log 3、 Ogre.log文件存储了程序运行时的信息,方便调试 4、 如果出现以下错误: 可能原因:resources_d.cfg或者resources.cfg的某一项XXX不支持(自动设置),或是在源程序的m_pRoot->loadPlugin("XXX")处进行了加载(手动设置)。通过查看Ogre.log文件确定错误原因,然后在配置文件中 或者 源程序中注释掉这个设置。一般是不支持D3D。 5、 在debug模式容易出现以下错误: 这个问题主要是因为多次加载了Plugin产生的,最可能的情况是既自动加载又手动加载导致了两次加载。当然,同样可以通过查看Ogre.log得知错误处,但是比较麻烦。比较幸运的是,可以点击“忽略”,接着运行。 6、 new Ogre::Root()默认的是newOgre::Root("plugins.cfg","ogre.cfg");,而使用debug模式时,却需要plugins_d.cfg。所以在加载plugins时,最好别使用默认参数设置。 方法有二: (1) 使用自动加载: #if defined(_DEGUG) || defined(DEBUG)//这是自动 m_pRoot = new Ogre::Root("plugins_d.cfg","ogre.cfg"); #else m_pRoot = new Ogre::Root("plugins.cfg","ogre.cfg"); #endif (2) 使用手动加载: #if defined(_DEGUG) || defined(DEBUG) //m_pRoot->loadPlugin("RenderSystem_Direct3D9_d"); m_pRoot->loadPlugin("RenderSystem_GL_d"); m_pRoot->loadPlugin("Plugin_ParticleFX_d"); m_pRoot->loadPlugin("Plugin_OctreeSceneManager_d"); // Load octree #else //m_pRoot->loadPlugin("RenderSystem_Direct3D9"); m_pRoot->loadPlugin("RenderSystem_GL"); m_pRoot->loadPlugin("Plugin_ParticleFX"); m_pRoot->loadPlugin("Plugin_OctreeSceneManager");// Load octree #endif 由于手动设置 和 自动设置 不能同时使用(即不能设置两次),所以推荐使用自动设置。若使用手动设置,将可能只能使用release版(因为默认参数将使用plugins.cfg文件,当然如果非要这样,则可以更改plugins.cfg文件的内容和plugins_d.cfg一样)。 7、 关于resources.cfg和resources_d.cfg文件。 这两个文件的内容是一样的。 |