Search Google

Friday, May 30, 2008

Code::Blocks, a nice IDE

今天再度展開IDE探索之旅,首先發現Eclipse現在已經可以用來開發Android(that's right, this is Google's Android)應用程式[1],稍微玩了一下範例之後深深覺得電腦的記憶體(512MB)實在無法負荷吃Ram怪獸Eclipse。
接著開始搜尋輔助wxWdigets的IDE,赫然發現Code::Blocks的存在(之後簡稱CB),同時發現有個名為wxPack的套件不但早已將wxWidgets的lib都編譯好,還附上支援WYSIWYG的GUI開發工具[2]。花點時間把玩CB之後發現以前替wxWidgets準備開發環境的方式"商當"原始,現在當然連Makefile也不需要準備,輕輕按下Build就大功告成,果然有工具用就怠惰了。如果將範圍侷限在產生native executble[3],CB其實是非常general purpose的IDE,與DevC++比較的話我會大推CB。在CB中新增wxWidgets project後直接點選Build & Run即可看到預設程式碼建構出來的Frame app,原始碼中還會有wxFormBuilder的project file(暫時叫它a.fbp),只是wxFormBuilder的code generator最近又有改版,因此如果用wxPack附的wxFormBuilder開啟a.fbp之後再另行產生原始碼之後在CB中build的時候就會出現錯誤[4]。當我將之前備份的原始碼拿出來比較之後發現新版的原始碼(GUIFrame.h)中省略include wx.h的部份:


#ifdef WX_GCH
#include
#else
#include
#endif

補上之後就可以成功編譯與執行了 :-)

PS. 歷經IDE探索之旅後深深體會站在巨人肩膀上的重要!

[1] http://code.google.com/android/intro/installing.html
[2] wxFormBuilder (http://wxformbuilder.org/)
[3] 簡單的說就是在Windows上副檔名為exe的執行擋,CB當然也有Linux port,只是Linux上的執行檔並無特定的副檔名,因此舉Windows的例子說明
[4] 錯誤訊息為:error: `wxMessageBox' was not declared in this scope

No comments: