1. 程式人生 > >CODEBLOCK 新增wxWidgets支援

CODEBLOCK 新增wxWidgets支援

目的: 使用CodeBlocks進行wxWidgets C++ GUI開發。 選擇wxWidgets的理由: codeblock17.12的版本對wxWidgets支援非常直觀,和VS操作非常相似。

安裝wxWidgets之前的準備工作: 1.安裝CodeBlock17.12和配置好編譯環境,確保生成一個Console application可以編譯通過,並正常執行。

Step1:下載下載最新版本的 wxWidgets,官方地址:https://www.wxwidgets.org/,目前最新版本為3.0.4,Windows版本下載地址:https://github.com/wxWidgets/wxWidgets/releases/tag/v3.0.4,如果不知道要下載哪個,請選擇列表上面的Download

wxMSW-3.0.4-Setup.exe (49.7 MB)。 Step2:安裝wxWidgets到C:\wxWidgets-3.0.4或其它目錄下. Step3:編譯wxWidgets,至於為啥要編譯就不解釋了(也許有編譯好的版本,沒試過)。 編譯需要用mingw32-make命令,先將mingw所在目錄加入系統環境變數Path中。 開啟cmd,進入<wxWidgets安裝目錄>\build\msw,分別輸入如下命令列: 清理:mingw32-make -f makefile.gcc clean 編譯Debug版本:mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=debug 編譯Release版本:mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 BUILD=release 分別建立debug 和 release 版本的庫。編譯時間比較長,大概每個半小時,視電腦速度定。 詳細引數說明看檔案 <wxWidgets安裝目錄>/build/msw/config.gcc 詳細安裝說明看檔案 <wxWidgets安裝目錄>/docs/msw/install.txt 編譯完畢後可以看到如下: 在這裡插入圖片描述
簡單解釋引數意義: UNICODE控制wxWidgets以及你的程式是否使用支援Unicode的寬字串。大多數Windows 2000或更高系統上的應用程式都應該支援Unicode。早期的Windows版本不一定有Unicode支援。你應該總是使用wxWidgets的_(“string”)和_T(“string”)巨集來確保硬編碼的字串編譯時是正確的型別。

  • wxWidgets的Unicode(UNICODE=1)構建將會建立帶有”u”字尾的庫,例如”libwxmsw28u.a”、”wxmsw28u_gcc_custom.dll”。
  • wxWidgets的ANSI(UNICODE=0)構建建立的庫沒有”u”字尾,例如”libwxmsw28.a”、”wxmsw28_gcc_custom.dll”。 MONOLITHIC控制是構建一個單一的庫(MONOLITHIC=1)還是多個元件庫(MONOLITHIC=0)。使用單一構建,專案的設定和開發會更加簡單,如果你同時使用DLL構建的話,你只需要分發一個DLL檔案。如果使用非單一構建(multilib),會構建出多個不同的庫同時你可以避免將整個wxWidgets的基本程式碼連結到主程式,就可以去掉不需要的庫。同時你也必須確保你選擇了正確的元件庫。 SHARED控制wxWidgets是構建DLL(SHARED=1)還是靜態庫(SHARED=0)。利用構建的DLL,主程式構建時間較快,可執行檔案更小。但是可執行檔案加上wxWidgets DLL的總大小更大,但是不同的可執行檔案可以使用同一個DLL。 BUILD控制wxWidgets構建除錯版本(BUILD=debug)或者是釋出版本(BUILD=release)。絕大多數情況下你只需要wxWidgets的釋出版本就可以了,因為你應該不想要去除錯wxWidgets自身,同時你依然可以通過連結wxWidgets的釋出版本來構建你自己的程式的除錯版本。

建立第一個wxWidgets工程

  1. 開啟CodeBlocks,選單 -> Settings -> Global variables… 設定CodeBlock工作環境 在這裡插入圖片描述 2.新建Project,選擇wxWidgets project 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 在這裡插入圖片描述 Build and Run,不出問題的話可出現下圖結果。(如果有問題,想一想自己的人品,哈哈…) 在這裡插入圖片描述