最近有写渲染引擎的需求,在自己写,bgfx和Ogre三者之中选择了Ogre。首先吐槽一下Ogre的编译应了网友的吐槽,想玩一下真是难于上青天。
环境:
1、homebrew必备
2、系统:Mac OS 10.14.6、10.15.1
3、IDE: Xcode 11
4、编译版本:1.8.1、1.9.1、1.12.4,2.1.0均通过了ios,mac编译
5、Cmake版本:3.14.6(用homebrew更新即可)
下载地址:
Ogre github地址:https://github.com/OGRECave/ogre/releases
1、在发布的版本中下载自己喜欢的版本
2、Ogre依赖库:
注:(经过验证,若只要安装Mac版本则不需要下载)
IOS编译:
1.8.1与1.9.1:(这两个版本编译bug较少,推荐使用)
1、下载地址case2中的iOSDependencies文件夹拷贝至case1中的文件夹内,与OgreMain文件夹同级
2、打开shell,cd到你所下载的文件夹目录下,输入以下命令
mkdir build
cd build
cmake -D OGRE_BUILD_PLATFORM_APPLE_IOS=1 -G Xcode ..
不出意外,你的build文件夹里面能打开xcode proj
注:若出现意外没有生成proj,错误集中在显示component/overlay里面imgui没有文件,那就下载一个,github地址:
https://github.com/ocornut/imgui 将下载的文件拷贝至imgui,注意别替换里面的config.h
3、首先连上手机, 打开xcode proj,若ALL_BUILD run显示为My Mac,那么恭喜你,将case2生成的build文件下的所有全部清除,再来一次case2,直到出现你的手机。别着急点击ALL_BUILD,先来跟我做几个步骤:
(1)点击项目,点击OGRE build setting里面查找bitcode,将YES改为NO,否则你会收到多大两百多个满屏的错误
(2)1.8.1中间会出现6个不清楚定义,将scale,width和height拉出来赋给float型变量,如图
1.9.1中间会出现3个找不到IOS,直接将其注释,用“balala”代替
中间其他错误会Mac开发解决都不难。install之后,run sampler App
4、显示cant load seeting file,手机黑屏。别急,commad+f搜索saveconfig
找到ogreRoot::saveconfig,将代码改成如下格式
然后你就会看见你的手机安装上samplerB了,Ogre手机上的用户交互体验很差,需要你慢慢摸索。
IOS 1.12.4编译更麻烦一些,在Ogre-master里建好build文件夹,打开cmakeGUI界面
点击configure,会出现红色界面,勾选你所需要的一些配置
这里需要索引到下载的iosdeps
再次点击config,注意编译时的报告,有啥错误就修复啥。若失败,将build文件夹删除,以上步骤重新来一下,cmake有时候就是抽风。
此时编译好的引用的是mac 版本的库,打开shell,进入build文件夹下,执行以下命令
cmake -DCMAKE_TOOLCHAIN_FILE=CMake/toolchain/ios.toolchain.xcode.cmake -G Xcode .
打开proj,allbuild还是会出现之前情况,还是改改改。然后就跟之前一样的.
原创文章,转载请注明出处。