1.想編譯OGRE,最起碼要有OGRE的源碼吧。可以去官方網站下載最新的源碼包,我這裡用的是1.7.2版本的,下載下來的檔案叫 ogre_src_v1-7-2.exe。運行下載下來的程式,解壓源碼到一個目錄下備用。
2.下載並安裝DirectX SDK,官方建議的版本是 DirectX
SDK - February 2010。不同版本的DXSDK可能會造成OGRE編譯失敗,這個要注意。
3.安裝Boost庫,這個非必須,但是建議安裝上去,以提高效能和開啟後台載入等一些功能。
建議的Boost庫版本為1.44.0,Windows使用者可以通過下載 Boostpro Boost Installers安裝,安裝時確保選中了"Multithreaded"和"Multithreaded
Debug",選擇庫的時候,要選上Boost Date Time 和 Boost Thread。
4.下載依賴包,OGRE的依賴包可以在 Visual
Studio Dependencies上下載到。將下載的依賴包解壓到OGRE源碼所在目錄下,保持預設資料夾名稱"Dependencies"就好。解壓好的依賴包位置如。
5.進入剛才加壓出來的依賴包的目錄下的src檔案夾,開啟OgreDependencies.VS2010.sln,Debug和Release各編譯一次。
6.下載並安裝cmake,官方網站是http://www.cmake.org/。
至此,編譯前的準備工作全部完成,下面進入OGRE的編譯環節。
1.啟動cmake,
在"where is the source code"處填入OGRE源碼路徑,
在"Where to build the binaries"處填入編譯環境產生的路徑,
這個路徑可以指向一個不存在的目錄,cmake會自動建立它。以後整個OGRE的編譯都會在這個路徑下進行。
2.點擊cmake介面左下角的Configure按鈕,第一次配置需要選擇編譯器,我們選擇vs2010 32bit。
3.待第一遍配置完成後,可以看到配置選項都是紅色,這時,再次點擊Configure按鈕,執行完成後選項變為灰色。(這一步的作用是使用OGRE預設配置來配置編譯環境)
4.配置完成之後點擊Configure按鈕右側的Generate按鈕產生項目。
5.執行完成後,cmake會將項目產生到之前配置的"Where to build the binaries"路徑下。
6.開啟"Where to build the binaries"路徑,會發現cmake已經為我們產生了整個OGRE工程,開啟OGRE.sln,編譯即可。
參考資料:
Building Ogre : How to build Ogre and/or your own projects using Ogre
http://www.ogre3d.org/tikiwiki/Building+Ogre&structure=Development
CMake Quick Start Guide
http://www.ogre3d.org/tikiwiki/CMake+Quick+Start+Guide
附:
ogre 1.7.0的下載、配置和編譯指南
- ogre 1.7.0的:https://sourceforge.net/projects/ogre/files/ogre/1.7/ogre-v1-7-0.zip/download
- ogre 1.7.0依賴庫的(不定期更新,請關注該貼):http://www.ogre3d.org/forums/viewtopic.php?f=1&t=54533
- 將ogre解壓,建議將解壓後產生的ogre目錄改名為對應的版本號碼,例如:F:\SDK\ogre-v1-7-0,以區分各個版本
- 將依賴庫解壓到ogre的目錄中,例如:F:\SDK\ogre-v1-7-0\Dependencies
- 根據自己的VC版本開啟F:\SDK\ogre-v1-7-0\Dependencies\src目錄中對應的工程VS20XX.sln
- 編譯出依賴庫的debug和release
- 下載最新版本的cmake:http://www.cmake.org/cmake/resources/software.html
- 解壓cmake到任意目錄,例如:F:\Tools\cmake-2.8.0-win32-x86
- 運行F:\Tools\cmake-2.8.0-win32-x86\bin\cmake-gui.exe
- 在"Where is the source code"和"Where to build the binaries"中分別設定ogre的解壓路徑,例如:F:\SDK\ogre-v1-7-0
- 點擊configure,選擇好VC的版本
- 點擊Generate後將產生OGRE.sln
- 編譯出ogre的debug和release
- 如果不需要運行samples,那麼只需要編譯OgreMain、RenderSystem_Direct3D9(或其他)和所需的Plugin即可
cegui 0.7.1的下載、配置和編譯指南
- 1. cegui 0.7.1的:http://prdownloads.sourceforge.net/crayzedsgui/CEGUI-0.7.1.zip?download
- 2. cegui 0.7.1依賴庫的:http://prdownloads.sourceforge.net/crayzedsgui/CEGUI-DEPS-0.7.x-r1-vc9.zip?download
- 3. 將cegui解壓,建議將解壓後產生的cegui目錄改名為對應的版本號碼,例如:F:\SDK\cegui-v0-7-1,以區分各個版本
- 4. 將依賴庫解壓到cegui的目錄中,例如:F:\SDK\cegui-v0-7-1\Dependencies
- 5. 進入目錄F:\SDK\cegui-v0-7-1\projects\premake
- 6. 用記事本開啟目錄下的config.lua,找到兩個變數:OGRE_PATHS和OIS_PATHS
- 7. 將其修改成對應的ogre和ois的路徑,例如:
OGRE_PATHS = { "F:\SDK\ogre-v1-7-0", "OgreMain/include", "lib" }
OIS_PATHS = { "F:\SDK\ogre-v1-7-0/Dependencies/include/OIS/", "", "lib" }
- 8. 找到CEGUI_OLD_OIS_API變數,設定為false
- 9. 找到OGRE_RENDERER變數,設定為true
- 10. 找到SAMPLES_OGRE變數,設定為true
- 11. 進入目錄F:\SDK\cegui-v0-7-1\projects\premake,運行build_vs2008.bat(或對應的其他版本),你將看到CEGUI.sln
- 12. 繼續運行build_samples_vs2008.bat(或對應的其他版本),你將看到CEGUISamples.sln
- 13. 在編譯CEGUI.sln和CEGUISamples.sln時,如果依然存在找不到h或是link錯誤,請開啟工程屬性,修改Additional Include Directories和Additional Library Directories中對應的ogre和ois相關的路徑
- 14. 請注意ogre 1.7.0的lib是產生在debug和release子目錄中,記得修改為正確的link路徑
- 15. 運行sample前,記得先複製F:\SDK\cegui-v0-7-1\dependencies\bin下的所有dll到F:\SDK\cegui-v0-7-1\bin下面,這樣就不會報錯提示缺少dll了
各種開源庫的配置建議
- 右鍵點擊我的電腦 -> 屬性 -> 進階 -> 環境變數
- 根據不同開源庫的名稱,建立出對應的變數名和路徑值,例如:變數OGRE,值為F:\SDK\ogre-v1-7-0
- 將VC的Additional Include Directories和Additional Library Directories中將之前的死路徑修改為類似:$(OGRE)/OgreMain/include
- 未來當ogre或cegui再有升級時,則不需要手動一個個修改路徑,只用一次性修改對應的環境變數的值(路徑)即可
- 請注意,當環境變數發生變化,VC必須重啟才能識別
MyGUI編譯
sourceforge源碼http://sourceforge.net/projects/my-gui/files/
下載mygui和mygui dependencies,然後分別解壓至F:\MYGUI\MyGUI3.0;將dependencies放到MyGUI3.0檔案夾下面。
用VS2008開啟F:\MYGUI\MyGUI3.0\dependencies\src中的解決方案檔案。分別編譯freetype-2.3.11和ois-1.2.0,
在F:\MYGUI\MyGUI3.0\dependencies\lib
和F:\MYGUI\MyGUI3.0\dependencies\bin 可以得到.lib和.dll檔案。
然後開啟F:\MYGUI\MyGUI3.0\solution_directx中的解決方案檔案,並設定include和.lib檔案:
1. Tools---options---projects and solutions---VC++ directories中的
include files中包含
F:\MYGUI\MyGUI3.0\MyGUIEngine\include和
F:\MYGUI\MyGUI3.0\dependencies\include
library files包含
F:\MYGUI\MyGUI3.0\dependencies\lib\Debug和
F:\MYGUI\MyGUI3.0\dependencies\lib\Release (#add debug和release不可或缺,非針對單一debug,可能代碼中指定了差異化連結方式)
2. 將F:\MYGUI\MyGUI3.0\dependencies\bin\Debug中的OIS_d.dll拷貝至F:\MYGUI\MyGUI3.0\solution_directx\bin\debug中去(#add release版本同理)。
3. 在開啟的mygui解決方案中選一個demo工程編譯串連就成功了,運行可以看效果。
後記:確保已經安裝了DX SDK。 當然也可以用ogre或者opengl來渲染mygui,若安裝了ogre庫,則可以開啟ogre的demos。