2012年2月23日 星期四

好久沒來的~從Source建立Ogre 1.7.4使用TDM-GCC~錯誤篇


翻了一下之前最後一次發表Ogre的記錄是2010.3.15
也就是快二個年頭沒發表啦
途中也是有在使用啦
不過都很偷懶地,只有使用官方的SDK套件
從原始碼(source)來建立,已經真的是二年多的事了

只是這次重來,從一開始就犯了很嚴重的錯誤
自己心想,最新的應該沒問題吧
所以CMake是下載2.8.7,Boost是最新的1.49
主體編譯器更是使用最新的GCC 4.6.1(TDM-GCC版)
之所以不是MinGW官方版,是因為查libgcc_s_dw2-1.dll能不能不要使用的資訊後
查到了Tommy碎碎念所說,TDM-GCC可以使用sjlj版,就可以不用掛DLL
所以這次使用了TDM-GCC 4.6.1,不過下場很慘就是.......



首先第一個問題就是CMake
Configurate老是發生錯誤,而無法進一步Generate出Makefile
查了一下,發現下面這一篇討論
MinGW & Codeblocks Build with Threading
嗯嗯,版本超過2.8.3就死亡確認...好吧,那降階使用

再來Boost與Dependencies一直沒辦法被接受
使用UltraEdit直接找cmake檔案顯示boost只能使用1.46.1以前的版本
一樣降階使用,至於Dependencies的部分
要把東西正確地放到bin、include與lib裡,同時要直接指定給cmake,終於沒有問題啦!

之後一切都很順利的樣子,所有的東西都編譯完成
但是執行檔執行時,發生了0x000005的執行錯誤 O_o
找到了目前的設定教學在Ogre3D的官網上
Prerequisties教學
匆匆一撇只看到CMake 2.8.3,還有不能使用TDM-GCC的資訊
下載最新的Mingw官方版4.6.1再試還是不行,又找到這篇
Re:Ogre 1.7.4 released; 1.8 scheduled for next weekend
OGRE團隊成員CABAListic所說,請用4.5版
然後再回頭看前一篇Prerequisties時,才發現這行字:
The official MinGW won't do. It must be based on GCC 4.4.x.
總結:只能使用4.5.2以前的版本,最保險是4.4.0
下一篇是正式教學與必備套件表列

沒有留言: