

一:安裝codeblock10.05和GTK+開(kāi)發(fā)包
- 到 http://www.codeblocks.org 下載最新版的codeblock,我一般會(huì)選擇帶MinGW編譯器的版本!
文件名是codeblocks-12.11mingw-setup.exe或者其他版本,下載完成后運(yùn)行安裝文件,一步步安裝到結(jié)束。 - 下載安裝GTK+開(kāi)發(fā)包
- For GTK+2:
到 http://www.gtk.org/ 下載GTK+開(kāi)發(fā)包,注意是下載all-in-one bundle,但不要下載2.24.10這個(gè)版本,因?yàn)樵摪姹镜拈_(kāi)發(fā)包有嚴(yán)重Bug,并不能正常使用,建議下載gtk+-bundle_2.16.6-20100912_win32.zip,因?yàn)?4位的我下載后配置好像有點(diǎn)問(wèn)題,不過(guò)你也可以自己試試。 - For GTK+3
gtk官方到目前為止還沒(méi)有提供GTK+3的開(kāi)發(fā)包和運(yùn)行時(shí),不過(guò)網(wǎng)上的很多大牛都自己編譯了GTK+3的開(kāi)發(fā)包,
你可以用google搜索!這里我推薦 http://www.tarnyko.net/ 提供的GTK+3,主頁(yè)默認(rèn)是法語(yǔ),但有英語(yǔ)頁(yè)面!
進(jìn)入 http://www.tarnyko.net/dl/ 下載頁(yè)面后選擇下載gtk+-bundle_3.6.4-20130513_win32.zip
下載完成后將其解壓,解壓后得到的文件放到了C:\gtk+目錄下,注意這個(gè)gtk+目錄是需要自己建的,不過(guò)建議最好不要放在C盤(pán)里面,這里只是舉個(gè)例子。
二:設(shè)置環(huán)境變量
我使用的是win7 64位系統(tǒng),設(shè)置方法如下:
點(diǎn)擊開(kāi)始菜單,之后右鍵單擊“計(jì)算機(jī)”–>“屬性”在側(cè)邊欄選擇“高級(jí)系統(tǒng)設(shè)置”->在彈出的窗口選擇"高級(jí)"標(biāo)簽頁(yè)–>“環(huán)境變量”,我是建立在"用戶變量"里,當(dāng)然你也可以建立在“系統(tǒng)變量”里,按新建,依次添加,注意如果變量名已經(jīng)存在,例如PATH,那就按編輯按鈕,然后在原有的變量值后面加入新的變量值,每個(gè)變量值之間用分號(hào)隔開(kāi)。環(huán)境變量設(shè)置主要包括以下幾個(gè):
| 變量名 | 變量值 |
|---|---|
| GTK_HOME | C:\gtk+ |
| INCLUDE | C:\gtk+\include |
| LIB | C:\gtk+\lib |
| PATH | C:\gtk+\bin |
三:配置codeblock
- For GTK+2:
啟動(dòng)codeblock,點(diǎn)擊"File"->"New"->"GTK+ Project"創(chuàng)建一個(gè)GTK+2項(xiàng)目. - For GTK+3:
啟動(dòng)codeblock,點(diǎn)擊"File"->"New"->"Empty Project"創(chuàng)建一個(gè)空項(xiàng)目.
由于codeblocks目前只支持GTK+2,所以這里只好建立一個(gè)空項(xiàng)目然后自己設(shè)置。
點(diǎn)擊"Project"->"build options"
-
選擇“Compiler settings”標(biāo)簽中的Other options子標(biāo)簽
加入編譯選項(xiàng)-mms-bitfields
選項(xiàng)解釋:編譯GTK程序必須的選項(xiàng)
-
選擇“Linker settings”標(biāo)簽
在"Link libraries"中點(diǎn)擊"Add"按鈕加入gtk+lib,注意在彈出的文件選擇對(duì)話框中將c:\gtk+\lib\目錄下的文件全選就就可以將所有選中的文件一次性加入了,不需要一個(gè)一個(gè)的加入。
在Other Linker options加入鏈接選項(xiàng)-mwindows
選項(xiàng)解釋:告訴編譯器去編譯一個(gè)窗口程序,生成的程序可以去掉控制臺(tái)。
如果你正在寫(xiě)一個(gè)終端程序或需要在終端調(diào)試信息,那么不要加這個(gè)選項(xiàng)!
-
選擇“Search directories”標(biāo)簽
在"Compiler"子標(biāo)簽中加入GTK+include的路徑,這里比較郁悶,只能一條條的添加,所以用到那個(gè)功能加那個(gè)功能吧.C:\gtk+\include C:\gtk+\include\atk-1.0 C:\gtk+\include\atk-1.0\atk C:\gtk+\include\cairo C:\gtk+\include\fontconfig C:\gtk+\include\freetype2 C:\gtk+\include\freetype2\freetype C:\gtk+\include\freetype2\freetype\config C:\gtk+\include\gail-1.0 C:\gtk+\include\gail-1.0\gail C:\gtk+\include\gail-1.0\libgail-util C:\gtk+\include\gdk-pixbuf-2.0 C:\gtk+\include\gdk-pixbuf-2.0\gdk-pixbuf C:\gtk+\include\gio-win32-2.0 C:\gtk+\include\gio-win32-2.0\gio C:\gtk+\include\glib-2.0 C:\gtk+\include\glib-2.0\gio C:\gtk+\include\glib-2.0\glib C:\gtk+\include\glib-2.0\gobject C:\gtk+\include\gtk-2.0 C:\gtk+\include\gtk-2.0\gdk C:\gtk+\include\gtk-2.0\gtk C:\gtk+\include\libpng14 C:\gtk+\include\pango-1.0 C:\gtk+\include\pango-1.0\pango C:\gtk+\include\pixman-1 C:\gtk+\lib\glib-2.0\include C:\gtk+\lib\gtk-2.0\include C:\gtk+\lib\libffi-3.0.12\include一般來(lái)說(shuō)就這些,如果安裝了新的庫(kù)再加。
點(diǎn)擊"Setting"->"Global Variables..."會(huì)彈出一個(gè)"Global Variable“的窗口,在這里配置gtk的編譯選項(xiàng),
base C:\gtk+
include C:\gtk+\include
lib C:\gtk+\lib
cflags `pkg-config --cflags gtk+-3.0`
lflags `pkg-config --libs gtk+-3.0`
然后就可以編譯gtk+程序了,如果沒(méi)有安裝GTK+運(yùn)行時(shí),運(yùn)行g(shù)tk+程序還會(huì)報(bào)錯(cuò),這需要將C:\gtk+\bin下的所有DLL文件都復(fù)制到項(xiàng)目的bin\Debug目錄下,之后就可以運(yùn)行了。
四:?jiǎn)栴}
問(wèn)題
ld.exe||cannot open output file bin\Debug\test.exe Permission denied|||=== Build finished: 1 errors, 0 warnings ===|
編譯出現(xiàn)這個(gè)錯(cuò)誤是什么原因?答案
新的數(shù)據(jù)無(wú)法寫(xiě)入\Debug\test.exe文件,這是因?yàn)樵瓉?lái)的那個(gè)test.exe程序還在運(yùn)行,在進(jìn)程管理器里把它殺掉就好了。
更多參考:
[1]http://blog.csdn.net/dhx20022889/article/details/13770095
[2]http://blog.csdn.net/stereohomology/article/details/37729289
[3]http://blog.163.com/lixiangqiu_9202/blog/static/5357503720139260114656/
[4]http://blog.csdn.net/chszs/article/details/4006814
[5]http://www.cnblogs.com/pingf/archive/2009/06/30/1514126.html