纳金网
标题: Ogre的调试问题 [打印本页]
作者: 茵为你值得 时间: 2013-9-19 08:44
标题: Ogre的调试问题
本帖最后由 茵为你值得 于 2013-9-19 09:46 编辑
关于Ogre的调试问题
1、 如果要启动debug模式,务必使用文件:resources_d.cfg
2、 运行如果出现错误,务必查看文件:Ogre.log
3、 Ogre.log文件存储了程序运行时的信息,方便调试
4、 如果出现以下错误:
[attach]67604[/attach]
可能原因:resources_d.cfg或者resources.cfg的某一项XXX不支持(自动设置),或是在源程序的m_pRoot->loadPlugin("XXX")处进行了加载(手动设置)。通过查看Ogre.log文件确定错误原因,然后在配置文件中 或者 源程序中注释掉这个设置。一般是不支持D3D。
5、 在debug模式容易出现以下错误:
[attach]67605[/attach]
这个问题主要是因为多次加载了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文件。
这两个文件的内容是一样的。
作者: myonkyo 时间: 2015-2-8 18:05
不错啊,谢谢分享!
欢迎光临 纳金网 (http://go.narkii.com/club/) |
Powered by Discuz! X2.5 |