2017-05-07

編譯 Ogre3D Next 引擎

本文紀錄我編譯 Ogre Next 引擎的方法跟步驟。

開發環境:

Ogre3D 2.x 分支已經改名叫 Ogre-Next,跟原始的 Ogre3D 1.x 引擎做出區隔,這篇文章講的都是 Ogre-Next 而非舊的 Ogre3D引擎。新舊版引擎的比較可以參考這個連結

下載原始碼

目前 Ogre3D 原始碼放在 Github 上,一共需要下載兩份 source code:

  1. Ogre3D 引擎本體 https://github.com/OGRECave/ogre-next
  2. 第三方依賴函式庫 https://github.com/OGRECave/ogre-next-deps

把兩個 repo 放在同一個目錄下:

C:/OgreSDK/ogre
C:/OgreSDK/ogredeps

CMake 建構系統

Ogre 用的建構系統是 CMake,一套跨平台的建構系統。這是我第一次用 CMake,花了一些時間才搞懂用法。

CMake 本身不能直接編譯程式。相對的,它透過一個全平台通用的 CMake 腳本 (通常叫 CMakeLists.txt) 來產生實際可跑的專案。 比如 Windows 上就會拿到 Visual Studio 專案。Mac 就是上拿到 Xcode 專案。

編譯依賴函式庫

首先,我們先編譯依賴函式庫 ogre-next-deps,裡面是 Ogre3D 使用的第三方函式庫。

打開 CMake-GUI

ogredeps

接著以下步驟

編譯引擎

接著編譯 Ogre 引擎本體。

跟前一步一樣,打開 CMake GUI

按下 Configure 按鈕之後呢,應該會跳出一些錯誤,別擔心,這是因為 CMake 無法定位依賴庫的位置,藉由設定 OGRE_DEPENDENCIES_DIR 這個欄位告訴 CMake 依賴庫的位置:

下圖是我成功執行 Ogre-Next 官方範例 Forwrad3D 的畫面: