Gcc 错误测试OGRE';s教程代码。不完整类型';食人魔:MeshManager';

Gcc 错误测试OGRE';s教程代码。不完整类型';食人魔:MeshManager';,gcc,ogre,Gcc,Ogre,我正试着穿过食人魔的第二道防线。 我成功地完成了第一部分 我的问题是,当我尝试编译时,此方法中出现错误: void TutorialApplication::createScene(void){ mSceneMgr->setAmbientLight(Ogre::ColourValue(1.0, 1.0, 1.0)); mSceneMgr->setShadowTechnique(Ogre::SHADOWTYPE_STENCIL_ADDITIVE);

我正试着穿过食人魔的第二道防线。 我成功地完成了第一部分

我的问题是,当我尝试编译时,此方法中出现错误:

void TutorialApplication::createScene(void){

      mSceneMgr->setAmbientLight(Ogre::ColourValue(1.0, 1.0, 1.0));
      mSceneMgr->setShadowTechnique(Ogre::SHADOWTYPE_STENCIL_ADDITIVE);

      Ogre::Entity* entNinja = mSceneMgr->createEntity("Ninja", "ninja.mesh");
      entNinja->setCastShadows(true);
      Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("HeadNode");
      headNode->attachObject(entNinja);

      Ogre::Plane plane(Ogre::Vector3::UNIT_Y, 0);

      Ogre::MeshManager::getSingleton().createPlane("ground", Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
        plane, 1500, 1500, 20, 20, true, 1, 5, 5, Ogre::Vector3::UNIT_Z);
      Ogre::Entity* entGround = mSceneMgr->createEntity("GroundEntity", "ground");
      mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(entGround);
      entGround->setCastShadows(false);
      entGround->setMaterialName("Examples/Rockwall");
}
我得到的错误是:

错误:嵌套名称中使用的类型“Ogre::MeshManager”不完整 说明符 Ogre::MeshManager::getSingleton().createPlane(“地面”,Ogre::ResourceGroupManager::默认\u资源\u组\u名称


这很奇怪,因为显然任何人都对本教程有问题。我使用的是在我的机器(Ubuntu14.04 x64)中编译的Ogre 1.9。

如果你在代码中添加以下include,它应该会起作用。出现问题的原因可能是,相应的教程尚未更新以匹配Ogre 1.9

#include <OgreMeshManager.h>
#包括

是的,这就是问题所在。谢谢。