使用XCode4.5.1编译iOS版Ogre1.8.1的方法

1. 安装XCode 4.5.1

安装XCode 目前有两种方法:第一种是直接从Mac App Store中下载自动安装。第二种是从Apple网站上下载离线安装包(需要Apple ID并登陆)。对于前者,好处在于自动下载安装,但下载时间或许非常漫长;对于后者,XCode 4.3之后的版本采用核心和模块分离,现在主程序只有 1.8G 左右,其余的包括 Command line tools + dashcode + graphics tools需要单独按需下载。但这还不是变化最大的,最大的地方在于之前版本都是存放在 /Developer 路径下面,4.3之后的版本统一改放在了/Applications下面。下载好xcode4510417539a.dmg,双击打开后,直接把XCode拖入/Applications中即可完成安装。

在线安装Command Line Tools:打开“XCode->Preferences…”菜单,在Components页中选中Command Line Tools 项进行安装。其实这个也可以从网上下载离线安装包安装。

clip_image002

使用 xcode-select 重新选择 XCode 的安装路径,来保证终端工具可以正常运行。假设 XCode安装在/Applications下面,则在终端Terminal中执行如下命令:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

2. 安装CMake 2.8.8

由于XCode从4.3之后版本发生了变化,故最好下载CMake 2.8.8之后的版本,以支持新版的XCode。在CMake.org网站上选择下载dmg格式的安装文件,不要用绿色压缩包形式的安装文件。

在安装CMake时,记得把CMake的命令行工具也一并安装上。

3. 下载Ogre相关源码包

ogre_src_v1-8-1.tar.bz2

Ogre_iOS_6.0_Dependencies_20120912.zip

将以上两个源码包解压缩。ogre_src_v1-8-1.tar.bz2文件解压缩得到ogre_src_v1-8-1文件夹,Ogre_iOS_6.0_Dependencies_20120912.zip文件解压缩得到iOSDependencies文件夹,将iOSDependencies文件夹复制到ogre_src_v1-8-1文件夹中。如下图所示。

clip_image003

4. 编译Ogre源码

使用Terminal,cd到ogre_src_v1-8-1文件夹所在的位置,然后依次执行以下命令:

mkdir build

cd build

cmake -D OGRE_BUILD_PLATFORM_APPLE_IOS=1 -G Xcode ..

执行完毕后,ogre_src_v1-8-1文件夹中会创建出一个build文件夹,打开其中的OGRE.xcodeproj工程。在XCode中build这个工程。运行时,将Product切换为SampleBrowser,选择在Simulator上运行,这样即可在模拟器上运行SampleBrowser了。

clip_image004

附:使用官方预编译的OgreSDK 1.8.0和XCode 4工程模版创建新工程的方法

下载官方预编译的OgreSDK文件:OgreSDK_iOS_v1-8-0.dmg

下载安装Ogre的XCode 4工程模版:Ogre_Xcode4_Templates_20120621.pkg.zip

通过工程模版创建的Ogre工程,还不能直接编译运行,得修正工程中的路径错误。首先在Target的Build Settings中找到“Header Search Paths”项,在每个路径的“Users”前加一个斜杆“/”。然后删除包含iOSDependencies 的路径项:"/Users/zhangzh/Documents/OgreSDK_iOS/iOSDependencies/include"。因为官方预编译的OgreSDK不需要iOSDependencies。

最终结果如下图所示:

clip_image006

同理,对于Build Settings中的“Library Search Paths”,首先在每个路径的“Users”前加一个斜杆“/”。删除包含iOSDependencies的路径项:"/Users/zhangzh/Documents/OgreSDK_iOS/iOSDependencies/lib"

"/Users/zhangzh/Documents/OgreSDK_iOS/iOSDependencies/lib/Release"

最后,在其中添加如下项:"/Users/zhangzh/Documents/OgreSDK_iOS/lib"

最终结果如下图所示:

clip_image008

PS:对于SampleBrowser的Ogre.log和Ogre.cfg文件,其默认保存的位置为:

/Users/zhangzh/Library/Application Support/iPhone Simulator/6.0/Applications/E368E34C-877C-4936-A943-768AA312FA5E/Documents

对于自己创建的独立的Ogre工程,其对应的Ogre.log和Ogre.cfg文件,其默认保存的位置为:/Users/zhangzh/Library/Developer/Xcode/DerivedData/OgreMaxSceneApp-gufprhkgpguyzoejujmzshprfnzn/Build/Products/Debug-iphonesimulator/OgreMaxSceneApp.app

通过其右键菜单“显示包内容”,即可看到。

原文地址:https://www.cnblogs.com/pulas/p/2749569.html