天天看點

mac平台wxWidgets編譯及測試

朋友建議學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了。

繼續閱讀