测试OGRE的教程代码时出错。不完整类型' Ogre :: MeshManager'

时间:2014-08-08 11:30:45

标签: gcc ogre

我正在尝试浏览OGRE tutorial#2。 我成功地通过了第一部分。

我的问题是当我尝试编译时,我在这个方法中遇到错误:

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(" ground",Ogre :: ResourceGroupManager :: DEFAULT_RESOURCE_GROUP_NAME,

这很奇怪,因为显然任何人都遇到了本教程的问题。我正在使用我在我的机器上编译的Ogre 1.9(Ubuntu 14.04 x64)。

1 个答案:

答案 0 :(得分:1)

如果您在代码中添加以下include,它应该可以正常工作。您的问题的原因可能是,相应的教程尚未更新以匹配Ogre 1.9。

#include <OgreMeshManager.h>