天天看點

wxwidget編譯安裝_MSW下wxWidgets的安裝與編譯

教程摘自網上各大部落格、貼吧、論壇,結合自己的實踐做了一些實質性的修改。

一、安裝

建議将其安裝某個驅動器的根目錄下,比如:E:\ wxWidgets-2.8.12 目錄下(尾部數字以您所使用的wxWidgets版本為準)。

二、編譯

上一步安裝wxWidgets,僅得到源代碼檔案及一些說明。我們還需要将其中的源代碼編譯成“庫”檔案。

今天我們将把wxWidgets編譯譯成四種形式:

動态連結庫 + 調試版

動态連結庫 + 發行版

靜态連結庫 + 調試版

靜态連結庫 + 發行版

正式開始編譯之前,必須確定已經在電腦上正确安裝好mingw32環境,安裝C::B時選擇MINGW版,就會在C::B目錄下安裝MINGW編譯器。

并保證環境變量設定好:

右擊我的電腦→屬性→進階系統設定→環境變量→選擇path變量(如果沒有的話建立path變量)

→編輯path變量(不同的變量值之間用;隔開)→在變量值中輸入“E:\CodeBlocks\MinGW\bin;E:\CodeBlocks\MinGW\include;E:\CodeBlocks\MinGW\lib;”(如果你的MINGW安裝路徑不同,求按照你的路徑輸入)

(以下四個版本都需要編譯,而不是僅編譯其一)

(1)靜态連結(調試版)

步驟1:用記事本打開wxWidgets安裝目錄下,子目錄“build\msw\”下面的“config.gcc”檔案。

步驟2:找到以下内容,并確定将等号(?=)後面的值如下面内容所示。另外其它未指部分的内容,請保持不變。

步驟3:請确認儲存了本步的修改成果,再繼續下一步。

# What type of library to build? [0,1]

SHARED := 0

# Compile Unicode build of wxWidgets? [0,1]

UNICODE := 1

# Type of compiled binaries [debug,release]

BUILD := debug

步驟4:

SHARED 為 0表示要編譯的是靜态庫,而不是動态庫;

UNICODE為1,表示要編譯成UNICODE版本,這一項在本次編譯過程中始終為1。

BUILD為debug,表示要編譯成含有調試資訊的版本。

步驟5:

打開“開始”菜單,選擇“運作”,輸入cmd,進入控制台視窗,然後在其内通過cd指令,切換到wxWidgets安裝目錄下的“build\msw”路徑。比如您把wxWidgets

安裝在“E:\wxWidgets-2.8.12”,則過程如下:

E: (回車)

cd wxWidgets-2.8.12(回車)

cd build\msw (回車)

步驟6:在第5步的控制台中,繼續輸入以下指令:

mingw32-make.exe -f makefile.gcc (回車)

步驟7:這将開始一段長約30分鐘的編譯過程(視你的機器配置而定)。

(2)靜态連結(發行版)

編譯過程和前一版本主要差别在于“config.gcc”檔案的修改内容:

# What type of library to build? [0,1]

SHARED := 0

# Compile Unicode build of wxWidgets? [0,1]

UNICODE := 1

# Type of compiled binaries [debug,release]

BUILD := release

其它操作方法不變。

(3)動态連結(調試版)

編譯過程和前一版本主要差别在于“config.gcc”檔案的修改内容:

# What type of library to build? [0,1]

SHARED := 1

# Compile Unicode build of wxWidgets? [0,1]

UNICODE := 1

# Type of compiled binaries [debug,release]

BUILD := debug

其它操作方法不變。

(4)動态連結(發行版)

編譯過程和前一版本主要差别在于“config.gcc”檔案的修改内容:

# What type of library to build? [0,1]

SHARED := 1

# Compile Unicode build of wxWidgets? [0,1]

UNICODE := 1

# Type of compiled binaries [debug,release]

BUILD := release

其它操作方法不變。

三、結束

這是一次漫長的編譯過程,至此,我們完成了四個版本的wxWidgets庫的編譯。它是我們編寫圖形使用者界面基礎。

為了確定大家盡量順利地完成編譯,我們在“config.gcc”僅選擇了最基本的編譯選項。是以一些強大wxWidgets功能子產品沒有被編譯成庫,比如前面提到的非Unicode版,另外沒有支援OpenGL、OBDC等功能。後面需要時,我們将會加上,并且令大家放心的是,這并不會帶來又一次wxWidgets漫長完全編譯。