我的IDE為C::B 12.11,wxWidgets版本為wxWidgets-2.8.12 編譯好的庫(kù)文件在wxWidgets-2.8.12\lib里面,動(dòng)態(tài)庫(kù)為gcc_dll,靜態(tài)庫(kù)為gcc_lib,調(diào)試版和發(fā)行版的區(qū)別在于文件名中調(diào)試版比發(fā)行版多了一個(gè)字母:d 一、使用靜態(tài)庫(kù)開(kāi)發(fā)wxWidgets程序 首先選擇MINGW做為默認(rèn)編譯器,然后再打開(kāi)“Settings”->“Global Variables…”,在設(shè)置“default”下新建立一個(gè)“wx”變量, 在“Build-in fields:”下,base中填入“${wxwin}”,include中填入“${wxwin}\include”,lib中填入“${wxwin}\lib”,這些都是后面建立wxWidgets工程的向?qū)Ю镄枰玫降摹?br> 或者在base中填入絕對(duì)路徑,例如:“E:\wxWidgets-2.8.12”,include中填入“E:\wxWidgets-2.8.12\include”,lib中填入“E:\wxWidgets-2.8.12\lib”。 ![]() 設(shè)置完成后,我們就可以建立wxWidgets工程了,下面我們來(lái)一步步建立一個(gè)完整的wxWidgets示例工程。 通過(guò)菜單“File”->“New”->“Project…”,選擇最后面的wxWidgets project。 ![]() 點(diǎn)擊“Go”進(jìn)入工程配置向?qū)?,首先?huì)出來(lái)一個(gè)歡迎窗口,在這里我們直接下一步, ![]() 然后選擇機(jī)子里安裝的wxWidgets版本,我這里裝的是2.8版本。 ![]() 按“Next”,然后輸入工程名“test”。 ![]() 繼續(xù)“Next”,輸入作者和及一些版權(quán)說(shuō)明信息(空著也行)。 ![]() 繼續(xù)“Next”,選擇GUI設(shè)計(jì)工具和程序類(lèi)型,這里我就用wxSmith和Dialog based。 ![]() 按“Next”,接下來(lái)的就是wxWidgets環(huán)境的一些設(shè)置了,這里我們輸入剛才設(shè)置的wxWidgets根目錄,直接填入“$(#wx)”(或者填入wxWidgets的目錄)。 ![]() 按“Next”,這里我們看到默認(rèn)就是選擇了MinGW編譯器了(我很納悶不知道為什么我明明安裝了MINGW,這里就是沒(méi)有,但是這個(gè)沒(méi)什么影響。。) 繼續(xù)“Next”,接下來(lái)要選擇怎么使用wxWidgets庫(kù),這里根據(jù)你編譯的wxWidgets庫(kù)是什么樣的來(lái),由于我們先使用靜態(tài)庫(kù)編譯程序,所以不選擇”Use wxWidgets DLL“。 按“Next”,因?yàn)檫x擇了“Configure Advanced Options”,所以要對(duì)使用wxWidgets庫(kù)做更多的設(shè)置,這里我們選上我們使用lib方式調(diào)用。 按“Next”進(jìn)到最后一步,我們選擇需要用到的庫(kù),不知道的話(huà)全部選上。 點(diǎn)擊“Finish”,工程隨即建立成功。我們按F8進(jìn)行編譯調(diào)試,我們可能看到如下錯(cuò)誤: 這是因?yàn)槟J(rèn)的庫(kù)里沒(méi)有這些庫(kù)的原因,我們通過(guò)菜單“Project”->“Build options”,修改“Linker settings”下的“Link libraries”,選擇剛才那幾個(gè)缺失的庫(kù),點(diǎn)擊“delete”去掉。 再按F8編譯調(diào)試,我們就可以發(fā)現(xiàn)工程可以運(yùn)行成功了。 如果要編譯release版本的程序同樣要在“項(xiàng)目選項(xiàng)”→“release”→“鏈接器設(shè)置”,刪掉那4個(gè)缺失的庫(kù)。 至此靜態(tài)庫(kù)的調(diào)用全部完畢,接下來(lái)說(shuō)說(shuō)動(dòng)態(tài)庫(kù),只需要靜態(tài)庫(kù)的設(shè)置上做一點(diǎn)點(diǎn)修改就可。 二、使用動(dòng)態(tài)庫(kù)開(kāi)發(fā)wxWidgets程序 只需要在這一步把“Use wxWidgets DLL”選項(xiàng)選中既可 構(gòu)建的時(shí)候同樣要把那4個(gè)缺失的庫(kù)給刪除。 程序發(fā)布的時(shí)候別忘了附上所有用到的DLL ——現(xiàn)在的努力是為了小時(shí)候吹過(guò)的牛B??! 來(lái)自http://www.cnblogs.com/pingge/p/3359506.html |
|
來(lái)自: Rainboy913 > 《計(jì)算機(jī)》