版權所有,轉載請注明鏈接
OGRE 2.1 Windows 編譯
環境:
Windows 7 64Bit
Visual Studio 2012
OGRE 2.1
CMake 2.8.12.1
OGRE:
OGRE官方推出了最新的OGRE2.1版本,鏈接地址:
https://bitbucket.org/sinbad/ogre/downloads
新版本的OGRE做出了大量的修改,從官方給出的文檔我們可以看出作者們對OGRE進行了優化與完善。從上面鏈接中下載的官方版本並沒有包含編譯需要的依賴項(一向都這樣),所以我們需要下載OGRE的依賴。
OGRE Dependencies : ogredeps
ogredeps工程可以在一下的鏈接地址下載到:
https://bitbucket.org/cabalistic/ogredeps/downloads
這些開源項目因為許可等種種原因搞的非常麻煩,在這個下載項中有沒有SDL,所以我們還得另外下載SDL。
SDL:
在上述鏈接地址的“Source”頁面中,列舉出了依賴項源代碼的目錄樹,打開“src”文件夾會看到“SDL2”的鏈接,然后打開這個鏈接后,我們就會在新的頁面找到SDL2的下載地址(其實也很難找),如下圖所示。
將解壓后的“./SDL-c3c3cdaf37f9”中的所有文件拷貝到ogredeps解壓后的“./src/SDL2”文件夾中。
ogredeps 編譯:
現在可以編譯OGRE的依賴了,首先需要使用CMake生成工程項目,在CMake的“Where is the source code:”輸入源代碼位置,像這樣:“...\cabalistic-ogredeps-eb18d4651ec7”,在“Where to build the binaries:”中輸入輸出位置,像這樣:“...\cabalistic-ogredeps-eb18d4651ec7\output”(output文件夾自己新建,可隨意指定),然后點擊“Configure”,選擇編譯器版本(如:Visual Studio 11.0),配置成功后CMake輸出文本框會顯示“Configuring done”,最后點擊“Generate”生成vs工程項目,生成成功后會顯示“Generating done”。如下圖所示。
上述操作步驟成功后就可以進入“...\output”文件夾,用vs2012打開.sln項目的,然后選擇“ALL_BUILD”工程項目,進行“全部重新編譯”,編譯成功后選擇“INSTALL”工程項目進行“重新編譯”,編譯成功后會在“...\output”文件夾中生成“ogredeps”文件夾,該文件夾中包含了所有OGRE編譯所需要的所有依賴項目。
OGRE 編譯:
編譯步驟同上面編譯ogredeps步驟相似(需要提前安裝Direct X),只不過需要將上面“ogredeps”文件夾拷貝到解壓后的文件夾“...\sinbad-ogre-51e90cec4c17”中
(這里我在生成工程項目的時候,CMake總是在一個叫“...\Dependencies”的文件中尋找依賴項,而不在ogredeps中尋找,可能是我的CMake配置有關系,最后沒有辦法我只能將剛才拷貝過來的“ogredeps”文件夾改名為“Dependencies”,如果知道原因的同學,可以在評論中指點),如下圖所示。
當“Configure”和 “Generate”成功后,就可以在“...\output”中着調.sln工程項目,打開工程后還是依次編譯“ALL_BUILD”和
“INSTALL”兩個工程,編譯成功后就將工程“SampleBrowser”設置為“啟動項”,運行就可以看到OGRE官方例子。
問題:
由於我沒有安裝Direct3D11,所以運行出現如下錯誤:
只需要將“...\Output\bin\debug”文件夾中配置文件plugins_d.cfg中的“Plugin=RenderSystem_Direct3D11_d”用“#”注釋掉即可。
最終運行結果如下如所示。