2013年11月27日 星期三

使用Mingw-w64來編譯Ogre 1.8.1與Bullet 2.82

上次使用新的Mingw 4.8.1-4的版本編譯Ogre成功,但失敗在Bullet 2.81。
一直等待Mingw團隊Release 4.8.2的gcc來解決問題也不是辦法,
這期間就先使用Visual Studio 2010 Express來編寫Ogre+Bullet。
但是使用上很不習慣,還是想用回Code Blocks。
於是,花了好大的一番功夫,一一對照參數搞起來後。
卻又看到Mingw-W64計畫,反正新電腦編譯快,想說用用看。
就下載其中Mingw-builds Project的32位元版本下來測試
裡面有4.8.1與4.8.2當然是選擇4.8.2的版本,再選threads-win32裡SJLJ的版本
(i686-4.8.2-release-win32-sjlj-rt_v3-rev0.7z)
這下建立bullet沒問題了

OgreDeps到OgreMain一開始編譯也都OK,昨天發現其實不OK!
更正一下,使用Mingw-w64編譯官方的OgreDeps在libzzip的部分也有問題
在最後產生OgreMain時,連結libzzip會出現重複定義的問題
如官方討論區這篇(Compiling Ogre: zziplib - multiple definitions)所述

接下來就是是卡在RenderSystem_Direct3D9的部分…
好佳在,最後是有解決,不過這必須更改Ogre的原始碼
這就是亂用不是官方指定的缺點