wxWidgets是跨平台的Library,所以我就決定找一個優秀的跨平台IDE:Code::Blocks。這樣在任何平台都可以用熟悉的環境寫wxWidgets的程式,多麼令人蘇胡的一件事啊~ 話不多說,馬上裝來用用看!
1. 安裝Code::Blocks
到Code::Blocks的論壇Nightly Builds,找到最新的文章,裡面會有可執行的Windows版Code::Blocks的下載連結,依連結下載三個檔案
1) CB_[date]_[ver]_win32.7z
2) mingwm10.dll
3) wxmsw28u_gcc_cb.dll
將第2, 3個dll檔,解壓縮後放到Code::Block資料夾中,直接點codeblocks.exe檔 即可執行。
2. 安裝MinGW
因為Code::Blocks只是個單純的IDE,不提供Compiler,因此可以安裝MinGW就會有g++的compile環境。
下載:到MinGW的SourceForge頁面,找MinGw Installer,下載最新版的MinGW-[ver].exe下來安裝。
[備註] 下載Debugger:MinGW的子專案「GNU Source-Level Debugger」找最新的Release Candidate : gdb-[ver],下載gdb-[ver].exe後,放在$(MinGW)\bin即可。
3. 下載wxWidgets的Windows SDK - wxMSW
安裝時 一直按下一步即可 很方便
4. 編譯wxMSW的Library檔
到Command Line模式底下,輸入以下的指令
(註:$(wxWIN):wxWidgets的安裝目錄,$(MinGW):MinGW的安裝目錄)
(原文詳細說明)
% cd $(wxWIN)\build\msw % set path=$(MinGW)\bin;$(MinGW)\mingw32\bin % mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean % mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release
最後一個指令,會編出Library檔,這個Library檔才能讓Code::Blocks在Compile時做Linking
[make時的option解釋]
- BUILD = debug, release
=> 可在Code::Blocks的專案中選擇Debug模式orRelease模式兩種Target
若為debug, Debgu & Release都支援
若為release, 只支援Release - UNICODE = 0, 1
=> 專案是否為Unicode,1為True,0是False - SHARED = 0, 1
=> 決定編出的Library檔案的檔案類型,1為DLL檔(ex: wxmsw28_gcc_custom.dll),供dynamic link用,0為static library檔(ex: libwxmsw28.a),供static link用 - MONOLITHIC = 0, 1
=> 決定編出的Library為單一個Library檔or多個Library檔,這個option會決定你最後執行檔的大小喔。如果設1,就會把所有wxWidgets的Library檔全部包成一個檔(若為dynamic則為wxmsw28_gcc_custom.dll,若為static則為libwxmsw28.a);設0的話,則最後會產生多個Library檔(libwx28_base.a, libwxjpeg.a .... etc)
wxWidgets Library會根據上面下的參數,產生不一樣的Library資料夾
[ 註:$(wx)為wxWidgets的安裝目錄 ]
ex:
1. $(wx)\lib\gcc_dll\msw 未加Unicode & Debug參數
2. $(wx)\lib\gcc_dll\mswd 加Debug參數
3. $(wx)\lib\gcc_dll\mswu 加Unicode參數
5. 現在就可以開始Code::Blocks來寫一個簡單的wxWidgets的程式了
- (1) 開打Code::Blocks,建立新專案
- (2) 在Project裡 選擇「wxWidgets Project」
- (3) 選擇主機上面安裝的wxWidgets版本
- (4) 輸入Project名稱
- (5) 選擇wxWidets的GUI Builder - 在這邊可以先選擇Code::Blocks內建的wxSmith Application Type可以選擇Dialog base/Frame base
- (6) 輸入wxWidgets的安裝目錄,這邊建議輸入$(#wx)這是Code::Blocks的環境變數,然後會跳出一個視窗再輸入wxWidgets的安裝目錄即可,這樣以後就不用每次都必須輸入一次路徑了
- (7) 選擇Compile的Configurations的模式,這邊必須依照剛編譯wxWidgets的Library的option去選擇,如果你的option為BUILD=debug,則可以勾選Debug模式&Release模式,若為BUILD=release,則只能選擇Release模式
- (8) wxWidgets Library Settings 這邊的選項很重要,因為會決定你的Project最後會連結Library的路徑,Ex: 勾選Use wxWidgets DLL & Enable Unicode,Code::Blocks會自動幫你Liking到資料夾$(wx)\lib\gcc_dll\mswu裡面的DLL檔 (這邊的勾選 完全依賴於剛wxWidgets Library的option)
- (9) 完成後,Code::Blocks會自動幫你建立一個基本的Frame or Dialog。先測試一下你之前做的步驟到底對不對,直接Build Project然,Run。如果成功,恭喜你,失敗的話,Check一下之前的步驟,看漏了哪個沒做到…
沒有留言:
張貼留言