When update Ogre source to the stable version 1.9 with Mac osx 10.7,Xcode 4.6.3, CMake 2.8.10.2, I get this error
Reference to 'FileInfo' is ambiguous
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Finder.h:236:8: Candidate found by name lookup is 'FileInfo'
Ogre-1.9-mercurial/OgreMain/include/OgreArchive.h:53:12: Candidate found by name lookup is 'Ogre::FileInfo'
it is about include the Ogre.h or OgreWindowEentUtilities.h in the source code, but it is strange because it had never occured before.
I had googled and tried a lot, but all failed to solve it.
but finally, I got it.
remove any defination of using namespace Ogre; in any header file that is not limited its scope.
I had added the this line of code in a header file, and the defination is not limited in that class, then I include it in some other header files, then included those header files in some more header files ..
so at the end, I had included a header has a defination of using namespace Ogre; and then I include a Ogre.h
the Ogre.h include OgreWindowEventUtilities.h, the OgreWindowEventUtilities.h, then include a Carbon.h, and include to the FInder.h, in this header file, there is a defination struct FileInfo, while the Ogre name space has a defination FileInfo too,. And there is a defination using namespace Ogre; ,so these two defination are coflicted.
experience I get from this class.
1. whenever use this command: using namespace, limits its active scope
2. Don't jump to on googling and googling before think deeply first.
相关推荐
### Ogre初级指南:新手帮助手册 #### 一、Ogre3D简介与应用领域 Ogre3D是一款开源的3D图形渲染引擎,被广泛应用于游戏开发、虚拟现实(VR)、增强现实(AR)、模拟仿真等多个领域。它以其强大的功能、良好的性能...
Ogre::RenderWindow* renderWindow = root.createRenderWindow("Ogre MFC", 800, 600, false); ``` **5. 连接MFC窗口与Ogre渲染窗口** 为了让Ogre的渲染结果显示在MFC的窗口上,需要将MFC的窗口句柄传递给Ogre的...
`OGRE_NEW Ogre::TerrainGroup(mSceneMgr, Ogre::Terrain::ALIGN_X_Z, 513, 12000.0f)`参数说明如下: - `mSceneMgr`是场景管理器,用于将地形添加到场景中。 - `Ogre::Terrain::ALIGN_X_Z`决定了地形的排列方式,...
Caelum是一个开源的天空渲染库,专为OGRE3D图形引擎设计。它提供了丰富的功能,用于在3D场景中生成逼真的天空效果,包括日出、日落、云层、月亮、星星等自然现象的模拟。这个库极大地增强了OGRE的视觉表现力,使...
Ogre::SceneManager* sceneMgr = root.createSceneManager(Ogre::ST_GENERIC); Ogre::Camera* camera = sceneMgr->createCamera("MyCamera"); camera->setPosition(Ogre::Vector3(0, 0, 50)); // 设置相机位置 ...
这通常通过继承`Ogre::Singleton`并重载`Ogre::WindowEventUtilities`的方法来实现。 11. **清理和退出**:在应用程序结束时,记得释放所有资源,关闭窗口,并销毁`Root`对象以正确关闭OGRE引擎。 在[OGRE]备注...
**OEGUI 0.2:基于Ogre::OverlayElement的GUI系统详解** OEGUI是针对Ogre 1.7引擎开发的一款图形用户界面(GUI)组件,它充分利用了Ogre的OverlayElement机制,为游戏开发者提供了一种轻量级且高效的GUI解决方案。...
2. **创建Log对象**:`Ogre::Log* log = Ogre::LogManager::getSingleton().createLog("myApp.log", true, false);` 这里创建了一个名为"myApp.log"的日志文件,启用滚动(true)并禁用控制台输出(false)。 3. **...
- **Bridge模式的应用**:通过将抽象部分(`Ogre::MeshSerializer`)与其实现部分(`Ogre::MeshSerializerImpl`)分离,Ogre能够轻松地支持不同版本的Mesh文件格式,同时也方便了新版本Mesh文件序列化的添加。...
【Ogre开发】之二:第一个Ogre程序源码 要将工程环境重新配置一下 否则编译会通不过 具体方法参见我的博客 http://blog.csdn.net/cowboylym/article/details/9745823
ogre-common:所有ogre脚本文件中都存在语法 食人魔材料:特定于材料的语法 食人魔粒子:特定于粒子的语法 食人魔合成器:特定于合成器的语法 ogre-overlay:覆盖特定的语法 ogre-fontdef:特定于fontdef的语法 去做...
Ogre::Root *mRoot = new Ogre::Root(); // 设置RenderSystem为OpenGL Ogre::RenderSystemList::iterator pRend = mRoot->getAvailableRenderers()->begin(); while (pRend != mRoot->getAvailableRenderers()->end...
如果你希望手动加载材料脚本,可以使用Ogre::MaterialSerializer::parseScript方法。 重要的是要意识到,材质脚本的解析过程并不会完全加载材质:它只会加载定义,而不会加载纹理或其他资源。这是因为一个大型材料...
4. **创建场景管理器**:Ogre3D使用`SceneManager`来管理3D场景,如`Ogre::SceneManager* sceneMgr = root->createSceneManager("OctreeSceneManager")`创建了一个Octree类型的场景管理器,适用于复杂的场景。...
6. CMake会在指定的“Where to build the binaries”目录下生成OGRE项目。 ##### 5. 编译与测试 打开生成的`OGRE.sln`解决方案,使用Visual Studio 2008进行编译。编译成功后,别忘了更新`include files`和`...
食人魔样本Ogre3D 项目模板是准备使用(制作 fork 和 pull requests 以使其可用)在实验项目中学习 Ogre3D,具有: 面向 Ogre3D 1.9、1.10(对于 Ogre3D 2.1,请看) OIS 鼠标和键盘基本的相机控制器(来自 ...
ogre的api文档 chm版
Ogre初级和中级CHM教程和代码 OGRE学习交流超级群: 110490227 基础教程一 场景管理器,场景节点和实体 基础教程二 摄影机,阴影和光照处理 基础教程三 天空,地面和雾化处理 基础教程四 帧监听器和非缓冲输入 ...