前言

为了能在自己的平台上使用OGRE,本文使用CMake来编译OGRE的源码,其中使用到的环境为

  • Windows10
  • CMake 3.11.0
  • VS2017
  • OGRE-1.10.11

安装CMake

CMake下载页面选择自己相应平台的安装包下载


然后点击下载好的安装包,一路默认完成安装即可

下载OGRE源码

在OGRE的托管仓库上下载OGRE源码压缩包,这里我们下载的版本为V1.10.11

下载完成后将其解压。这里我的解压之后存放源码的路径为F:\OGRE\ogre-1.10.11,然后在此文件夹下新建文件夹Build,用于存放编译好的OGRE项目

下载OGRE依赖项

首先下载OGRE依赖项源码,这里我们选择default分支进行下载

下载完成之后将其解压。这里我解压之后存放源码的路径为F:\OGRE\cabalistic-ogredeps-d0f0609a769a,然后在此文件夹下新建文件夹Build,用于存放编译好的项目

编译OGRE依赖项

打开cmake-gui,依次选择依赖项源码的存放目录,选择生成目录,选择编译器之后,点击Finish

将会看到一个错误信息如下

这是因为我们下载的OGRE依赖项源码丢失了SDL2依赖项,我们需要自己手动下载SDL2源码。这里我们选择2.0.8版本

下载完成之后,将源码解压到F:\OGRE\cabalistic-ogredeps-d0f0609a769a\src\SDL2路径下,解压之后的文件结构如下所示

打开cmake-gui,点击Configure,可以看到这次不再有报错。接着点击Generate开始编译源码,编译完成之后点击Open Project使用VS 2017打开编译好的项目,按照以下步骤进行操作

  1. 右键ALL_BUILD,点击生成,对所有项目进行编译
  2. 右键INSTALL,点击生成,生成dll文件
  3. 将调试模式换成Release,重复上述两步

完成上述操作之后,在Build文件夹下可以看到ogredeps文件夹。
需要注意的是,在Debug模式下,会出现SDL2编译失败的问题,而在Release模式下则不会,这个还不清楚是为什么

编译OGRE

首先将上面得到的ogredeps文件夹复制到OGRE源码存放路径,也就是F:\OGRE\ogre-1.10.11下,并重命名为Dependencies。然后打开cmake-gui,依次选择依赖项源码的存放目录,选择生成目录,选择编译器之后,点击Finish

然后点击点击Configure,忽略里面的Warning信息,接着点击Generate开始编译源码,编译完成之后点击Open Project使用VS 2017打开编译好的项目。右键SampleBrowser项目,将其设置为启动项目,然后点击运行,选择生成所有过期项目,等待一段时间之后即可看到以下界面

至此,我们便已完成了OGRE的编译工作。