我正在尝试浏览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)。
答案 0 :(得分:1)
如果您在代码中添加以下include,它应该可以正常工作。您的问题的原因可能是,相应的教程尚未更新以匹配Ogre 1.9。
#include <OgreMeshManager.h>