一、wxWidgets介紹
wxWidgets標榜使用其函式庫所開發的軟件只需要對源代碼做少量更改(或者完全不用更改),就能在各種不同的作業平臺上編譯並執行。目前可支援Windows、Apple Macintosh、Linux/Unix(轉譯成X11、GTK+、Motif等函式庫)、OpenVMS、以及OS/2。嵌入式的版本也正在開發中。
函數庫本身使用C++語言開發,但也有其它不同編程語言的綁定,例如:Python(wxPython)、Perl(wxPerl)、Ruby(wxRuby)、Smalltalk(wxSmalltalk)、Java(wx4j)、甚至是JavaScript(wxjs)等。
--------來源於wiki
曾經在Windows和Linux上使用過wxwidgets。現在想試一下Mac OS的開發,懶得學習Objecitive-C,如是準備試一下使用wxWidgets在Mac OS上的開發。
二、編譯與安裝
1:使用configure/make 來編譯
安裝過程如下:
wget https://sourceforge.net/projects/wxwindows/files/2.9.3/wxWidgets-2.9.3.tar.bz2/download wxWidgets-2.9.3.tar.bz2
tar -zxvf wxWidgets-2.9.3.tar.bz2
#建立編譯目錄
mkdir cocoabuild
cd wxWidgets-2.9.3
../configure --disable-shared --disable-debug --enable-threads --enable-monolithic --enable-unicode --without-libjpeg --without-zlib --without-libtiff --without-expat --without-regex --with-opengl --disable-shared -with-osx_cocoa --disable-shared --disable-compat24 --with-macosx-sdk=/Developer/SDKs/MacOSX10.7.sdk --with-macosx-version-min=10.7 CFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" OBJCFLAGS="-arch x86_64" OBJCXXFLAGS="-arch x86_64" --with-opengl --disable-shared cc=gcc-4.2 ccxx=g++-4.2
make;make install
以上的參數是按照靜態庫來編譯,而且不支持STL,一下的編譯參數是動態庫編譯方式,支持STL。 By the way, 查看支持哪些configure的參數。可以運行: ../configure --help來查看。
../configure --enable-shared --enable-stl --disable-debug --enable-threads --enable-monolithic --enable-unicode --without-libjpeg --without-libtiff --without-expat --without-regex --with-opengl -with-osx_cocoa --disable-compat24 --with-macosx-sdk=/Developer/SDKs/MacOSX10.7.sdk --with-macosx-version-min=10.7 CFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" OBJCFLAGS="-arch x86_64" OBJCXXFLAGS="-arch x86_64" --with-opengl cc=gcc-4.2 ccxx=g++-4.2
2:使用xcode來編譯
在解壓目錄的build/osx/下有xcode 的工程文件。我的環境如下:
Mac OS X 10.7
XCode 4.2+SDK 10.7
gcc: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
編譯出現錯誤信息如下:
Unsupported compiler 'GCC 4.2' selected for architecture 'x86_64'
對xcode 的環境不熟悉,試圖修改工程屬性沒有成功。1:安裝完成後,確認wxWidgets環境OK
wx-config --version
可以看到wxWidgets的版本。
2: 運行DEMO
在編譯目錄cocoabuild下的sample目錄下,有自帶sample的makefile
cd cocoabuild/samples
make
編譯通過後,隨便選擇一個Demo,就可以看到運行的效果。 不用Objective-C,一個原生的Mac OS應用程序便建立了。
四、Xcode 環境配置(TBD...)