朋友建議學OC在VFX領域沒什麼用,我又看了看BMD的SDK,發現也隻有界面是OC的,核心的SDK還是C++寫的,于是想起了之前查過的跨平台GUI庫Qt和wxWidgets,先測試wxWidgets。
wxWidgets部署起來實在是太難了,網上幾乎沒有一篇文章是完全對的!我為此折騰了兩天,終于把wxWidgets的例程minimal給生成運作成功了。
本文主要講wxWidgets的編譯、配置以及在Xcode中編譯例程的方法。至于外部圖形界面編輯器例如wxFormbuilder之類的,試過,還沒跟編譯器整合,之後再寫。
P.S.我已經放棄Code::Blocks了,實在太難用,跟Xcode、Eclipse之類完善的IDE完全不是一個檔次,Code::Blocks在Windows下可能跑得還不錯,mac下完全是雞肋,奉勸mac下想嘗試wxWidgets的朋友用wxFormbuilder(很好用)以及Xcode。
wxWidgets的編譯參考其doc/osx檔案夾下的install.txt(這個是最準的,網上的安裝教程很多都不準):
1、解壓wxWidgets庫,把檔案夾放到合适的位置
2、進入Terminal,定位剛才的檔案夾
3、 mkdir cocoabuild(或其他build檔案夾名)
4、cd cocoabuild
5、configure --enable-unicode ...需要的參數請參考官網wiki。
6、make
make完了之後在cocoabuild檔案夾下就會有一堆.o檔案,以及一個十分重要的程式wx-config,還有個lib檔案夾,其中是連結庫。
從Finder進入/etc,把paths檔案拷出來,打開,添加cocoabuild檔案夾路徑,有助于Terminal找到wx-config指令
打開Xcode,建立Cocoa應用工程,删掉所有檔案,再打開minimai樣例工程,把cpp、plist、xcconfig幾個檔案拷進來,接下來是一堆設定:
1、Project-configuration,debug和release選擇Final - wxDebug、wxRelease以及wxCocoa(both)
2、Build Setting中的各種SDK和Target選OSX 10.8的SDK(10.9編譯的程式運作會崩潰,這點很重要)
3、Header Search Path中添加wxWidgets檔案夾下的include、cocoabuild檔案夾下的lib
4、Terminal運作wx-config -- libs,把結果粘貼進Other Linker Flags,再運作wx-config --cxxflags,把結果粘貼到Other C++ Flag
5、把samples檔案夾的sample.xpm拷到工程檔案夾,修改cpp中的#include "../sample.xpm"改為#include "sample.xpm"
6、把cocoabuild/lib檔案夾下的連結庫都拷到Build Phase的Link Binary with Binaries中
其他的一些細節設定參考官網教程http://wiki.wxwidgets.org/Creating_Xcode_projects_for_wxWidgets_applications 不一一贅述,上述步驟必須遵守,這也是官網教程的bug之處
此時運作應該就OK了。