本文主要介绍如何在Mac平台下编译一份可以在iOS上运行的ogre3d引擎的sdk,OGRE简单来说就是一个图形引擎,并且也只是一个图形引擎,不像cocos2dx之类的游戏引擎,包括网络,声音和物理碰撞等组件,OGRE只专注于图形渲染这块,不过可以方便的结合其它组件来组成一个游戏引擎,具体可以自己去了解。

编译OGRE3d

首先创建一个文件夹用于放置OGRE3D项目,这个可以随便指定,比如放置在桌面:

mkdir /Users/LJ/Desktop/OGREBuild

下载Ogre3d依赖

编译ogre需要首先下载相关的依赖库,由于我们想要编译的是运行在iOS上面的,所以选择现在iOS相关的依赖库,下载地址:iOSDependencies,打开dmg将里面的文件夹拖到OGREBuild文件夹里面;

下载ogre3d源码

这里我使用的是1.9版本的代码,可以使用下面的命令克隆对应的源码(要先安装Mercurial):

hg clone https://bitbucket.org/sinbad/ogre ogre3d

最后面是指定下载的文件夹名字,文件大小500M左右,下载过程比较缓慢,可以到网盘里面下载:ogre3d,同样把该文件夹放到OGREBuild里面;

CMake安装

首先要先安装cmake,安装方法可以参考网上的信息,打开控制台,在ogre3d里面创建一个build文件夹,然后运行cmake命令:

lujbdeAir:ogre LJ$ mkdir build

lujbdeAir:ogre LJ$ cd build

lujbdeAir:build LJ$ cmake -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -v -stdlib=libc++ -std=c++11"

-D BOOST_ROOT=/Users/LJ/Desktop/OGREBuild/iOSDependencies/include/boost

-D BOOST_INCLUDEDIR=/Users/LJ/Desktop/OGREBuild/iOSDependencies/include/boost

-D BOOST_LIBRARYDIR=/Users/LJ/Desktop/OGREBuild/iOSDependencies/lib

-D OGRE_DEPENDENCIES_DIR=/Users/LJ/Desktop/OGREBuild/iOSDependencies -D OGRE_STATIC=1

-D OGRE_BUILD_SAMPLES=0 -D OGRE_BUILD_PLATFORM_APPLE_IOS=1 -G Xcode ..

简单介绍一下cmake里面的参数:

DCMAKE_CXX_FLAGS的值表示支持c++11;BOOST_ROOT,BOOST_INCLUDEDIR,BOOST_LIBRARYDIR,OGRE_DEPENDENCIES_DIR分别对应boost库和依赖库的路径;OGRE_STATIC=1表示我们构建的是静态库,OGRE_BUILD_SAMPLES表示是否需要构建sample工程,由于我们只想要build对应的sdk,所以将该值设为0表示不构建sample;同时我们的目标是构建iOS版本的sdk,所以需要设置OGRE_BUILD_PLATFORM_APPLE_IOS=1。

运行完之后能看到在build文件夹下有个OGRE工程,点击OGRE.xcodeproj就可以开始编译我们的sdk了。

编译sdk

在运行ogre工程之前,需要配置一些选项,点击Product → Scheme → Edit Scheme,分别设置ALL_BUILD和install target的Build Configuration选项为release,然后设置选择的target为ALL_BUILD。接下来就command+B开始编译,这个过程可能也需要花点时间;build成功之后,在选择install target,同样command+B编译,完成之后你应该能发现有一个sdk目录,别忘了还需要把build目下的lib文件夹内容拷贝到sdk的lib文件夹下,这里面包含的是iOS运行时需要用到的一些静态库:

sdk目录

创建iOS demo工程

编译完sdk之后,我们就可以开始构建我们的iOS工程了,为了方便建立ogre工程,我们可以下载一个Ogre_Xcode4_Templates,安装完之后能看到在创建Xcode工程时多了一个选项:

屏幕快照 2015-08-26 下午7.32.51.png

点击next便可以创建一个iOS的ogre工程了,可以看到模版帮我们创建了好些文件,包括OgreFramework和demoAPP等,想要运行还需要些配置。

打开Build Settings选择"+" add User-Defined Setting,新建OGRE_SDK_ROOT为sdk的路径:

OGRE_SDK_ROOT路径

设置Header Search Paths:

Header Search Paths

设置Library Search Paths:

Library Search Paths

配置完这些内容后,点击运行应该就能看到在iPhone上出现了ogre3d的经典模型画面:

ogre

接下来就可以开始ogre引擎的研究之旅了。

ogre3d for android,ogre3D在Mac平台的编译相关推荐

  1. mac下编译android下libaac,Mac系统下编译FFmpeg(支持libx264)for iOS

    前言 iOS平台的FFmpeg(支持libx264)已经编译完成.经过之前Android平台上的编译过程,iOS平台的编译总体来说少走了很多弯路,但还是遇到了一些问题,现在做一下总结. 一.编译x26 ...

  2. mac平台反编译apk,获取源码,androidmanifest和资源文件

    "提供一个反编译apk的工具" 在window上反编译apk是比较容易的事情,但是在mac上就需要稍微费力一些,这里为了方便大家,特意提供了一个python脚本,实现快速反编译ap ...

  3. android studio shell 命令行自动打包(mac 平台)

    android studio shell 命令行自动打包(mac 平台) 作者 CrazySongHang 关注 2015.04.10 22:56* 字数 494 阅读 4165评论 1喜欢 2 如果 ...

  4. Win10下编译Android Ogre3d 1.12.6

    Ogre编译环境所需配置: 1.Android NDK版本16 2.Android Stuido 3.3 3.Java版本jdk1.8.0_131 4.CMake 3.16.0-rc3 5.Pytho ...

  5. C/C++在Java、Android和Objective-C三大平台下实现混合编程

    点击蓝字 关注我们 因公众号更改推送规则,请点"在看"并加"星标"第一时间获取精彩技术分享 来源于网络,侵删 Android和iOS开发都支持C++开发,可以一 ...

  6. linux 游戏大作,20款值得一试 外媒盘点Mac平台游戏大作

    原标题:20款值得一试 外媒盘点Mac平台游戏大作 外媒为我们盘点了最好玩的20款将Mac游戏,这些游戏不止在Mac上,多数平台均已支持,在Mac上体验更佳,感兴趣的朋友一起来试试看吧.(图片来自te ...

  7. Mac平台epub阅读器推荐

    Mac平台epub阅读器推荐 当我们在提问应该在无聊或者闲暇的时间里干点什么比较好的时候,所有的回答中一定会有一句,看书.在空闲时间看书是一个很好的选择.状态好时可以看专业提升和学习工作的书,疲惫放松 ...

  8. Android Studio for mac(Android集成开发工具)

    Android Studio for mac是谷歌称为将会让开发者更快.更具生产力,它完全免费,跨平台支持 Win/Mac/Linux,Android Studio for mac是替代 Eclips ...

  9. Mac平台搭建RN开发环境

    1.安装 Node, Watchman 官方参考 brew install node brew install watchman 如果出现出现 brew install node command no ...

最新文章

  1. Apache - AH00341
  2. 刘夏真的简历中国科学院计算机所,专家人才库数据----中国科学院计算技术研究所...
  3. Windows服务ServicesDependedOn的奇怪问题?
  4. spring mvc DispatcherServlet详解之一---处理请求深入解析(续)
  5. mysql高可靠部署_可能是我见过最好的 MySQL 高可用解决方案 MySQL InnoDB Cluster 中文教程!...
  6. boost之lexical_cast
  7. 前端逼死强迫症系列之javascript续集
  8. sed系列:行或者模式匹配删除特定行
  9. 如何在不接收返回值的情况下获取返回值?
  10. Hive中除了窗口函数外的常用函数:casewhen,行转列,列转行
  11. 计算机网络第三弹——数据链路层
  12. 如何在Tomcat中配置二级域名
  13. MATLAB删除图例中的多余线条
  14. 最佳实践|如何写出简单高效的 Flink SQL?
  15. Linux命令行如何编辑word文档,在Linux平台下用命令行工具显示Word文档
  16. 笔记:新一代高效视频编码H.265/HEVC原理、标准与实现
  17. 【算法】动态规划 ④ ( 动态规划分类 | 坐标型动态规划 | 前缀划分型动态规划 | 前缀匹配型动态规划 | 区间型动态规划 | 背包型动态规划 )
  18. Android 开发经验总结
  19. 【数学基础】直线点法式方程表达
  20. 第二十章 分布式任务调度中心DolphinScheduler架构设计

热门文章

  1. 单片机定时器和计数器的概念
  2. 傅里叶变换到卷积定理
  3. ARM Cortex-M3内核与STM32微控制器
  4. c++ min和max库函数
  5. vpopmail用户备份方法
  6. c语言判断ipv6地址合法,判断IPv6地址合法性
  7. 【STM32】 DMA原理,步骤超细详解,一文看懂DMA
  8. 多元Huffman编码
  9. 硬屏软屏哪个寿命长?
  10. FPGA: VGA显示