轉(zhuǎn)自原文
http://www.cnblogs.com/lookof/archive/2010/03/06/1679633.html 這個(gè)問題我也遇到過,確定DX版本和VC版本對應(yīng)就OK
Ogre3D官方于上個(gè)月末放出了1.7的穩(wěn)定版本。據(jù)稱該版本與舊版1.6x比起來,改動(dòng)幅度較大。因此作為一名Ogre使用用戶,“與時(shí)俱進(jìn)”既是我的責(zé)任,又是變被動(dòng)為主動(dòng)的上乘戰(zhàn)略。于是,學(xué)習(xí)新的Ogre系統(tǒng)成為我計(jì)劃中的一部分。
與以往不同,新Ogre的編譯策略完全采用了CMake安裝方式。為此,你首先要下載CMake工具才能安裝Ogre。不過,官方在wiki中對如何安裝新Ogre進(jìn)行了詳盡的說明,包括在哪里下載CMake以及如何使用它,都有step-by-step的指導(dǎo)。因此只要按照說明來,你“應(yīng)該”可以順利地看到通過CMake釋放出的Ogre.sln。
之所以說“應(yīng)該”,是因?yàn)榉N種原因,還是有相當(dāng)大的幾率會(huì)遇到“挫折”。遇挫的可能性取決于與新Ogre有關(guān)聯(lián)的周邊配置。拿本人案例來說,就是要看你的DX SDK版本以及VC版本是否一致了。
具體我的悲慘編譯經(jīng)歷如下:
. 在公司機(jī)子上下載Ogre1.7并按指導(dǎo)進(jìn)行安裝,選擇VC2003編譯器編譯,一切順利,沒有見到任何阻礙。很快就看到了Ogre.sln;編譯Ogre.sln,全部順利生成成功。心想新Ogre的用戶體驗(yàn)不錯(cuò)嘛,沒想到這么順。注意,此機(jī)子的DX9 SDK版本是2009(March)的。
. 回家后重新下載Ogre1.7并安裝,打算給本本也升級至新版。本本的DX9 SDK版本還停留在05年的古董級。就這樣,開始,同樣的步驟(依然選擇了VC2003編譯器)——然后,所以但是卡殼了。CMake在處理RenderSystem_Direct3D9時(shí)出現(xiàn)問題,具體出錯(cuò)信息想不起來了,抱歉。但稍稍分析一下即知,是找不到DxErr.h這個(gè)文件。經(jīng)過google知道這是一個(gè)DX9 SDK新版本里的文件。于是,卸載舊的版本,選擇最新的DX9 SDK (2010 February版本,新鮮出爐的呀)安裝。
. 接著重新一開始的步驟——然后,終于見到Ogre.sln了,很好很強(qiáng)大。然后繼續(xù)Ogre.sln的編譯。經(jīng)過近一個(gè)小時(shí)的編譯——全部生成——除了一個(gè)RenderSystem_Direct3D9的工程!我艸,又是它。分析得知,DxErr.h雖然有,但它里面用到的__in卻是一個(gè)無法識(shí)別的符號。繼續(xù)google,得知__in是存在于VC2005中的一個(gè)系統(tǒng)變量。換句話說,如果要使用DX9 SDK(2010 Feb)版,就要用VC2005來編譯工程了。
. 重新卸載了DX9 SDK(2010 Feb)版,下載了DX9 SDK(2009 March)版來裝。然后,再次開始編譯旅程——終于全部搞定!
從這里可以看到這個(gè)編譯過程實(shí)際上對 Ogre – DX9 – VC 這條鏈上的版本有相對嚴(yán)格的要求。Ogre – DX9的環(huán)節(jié)可能會(huì)出錯(cuò),同樣DX9 - VC的環(huán)節(jié)也可能會(huì)出錯(cuò)。
Done~
ps: 順便一提,在參觀Ogre1.7的地形Sample時(shí),點(diǎn)擊Start后會(huì)發(fā)現(xiàn)程序陷入“死掉”狀態(tài),突然就那么不反應(yīng)了。開始我以為又是什么bug所致,追蹤源碼后發(fā)現(xiàn),原來是初次運(yùn)行時(shí)Ogre要計(jì)算一張1024*1024的光照貼圖(見OgreTeerain.CalcLightmap.for.for),此時(shí)用時(shí)較長,并沒有真正死掉,只要耐心等一段時(shí)間,就會(huì)順利打開這個(gè)Smaple,而且這張lightmap是生成一次,終生受用的。以后只要還是相同的地形,再次打開時(shí)直接載入,不必再等那么長的時(shí)間了。
另外,發(fā)現(xiàn)Ogre還沒有提供對1.7系統(tǒng)的學(xué)習(xí)指導(dǎo)wiki,我想只有靠自己去摸索了。最好的方法應(yīng)該就是認(rèn)真參觀各Sample大神了吧。
posted on 2010-06-08 10:12
風(fēng)輕云淡 閱讀(1067)
評論(2) 編輯 收藏 引用 所屬分類:
OGRE