一:安裝codeblock10.05和GTK+開發(fā)包
- 到 http://www.codeblocks.org 下載最新版的codeblock,我一般會(huì)選擇帶MinGW編譯器的版本冲呢!
文件名是codeblocks-12.11mingw-setup.exe或者其他版本,下載完成后運(yùn)行安裝文件烹看,一步步安裝到結(jié)束岂津。 - 下載安裝GTK+開發(fā)包
- For GTK+2:
到 http://www.gtk.org/ 下載GTK+開發(fā)包细燎,注意是下載all-in-one bundle,但不要下載2.24.10這個(gè)版本,因?yàn)樵摪姹镜拈_發(fā)包有嚴(yán)重Bug,并不能正常使用耸携,建議下載gtk+-bundle_2.16.6-20100912_win32.zip纵诞,因?yàn)?4位的我下載后配置好像有點(diǎn)問題忙干,不過你也可以自己試試器予。 - For GTK+3
gtk官方到目前為止還沒有提供GTK+3的開發(fā)包和運(yùn)行時(shí),不過網(wǎng)上的很多大牛都自己編譯了GTK+3的開發(fā)包,
你可以用google搜索捐迫!這里我推薦 http://www.tarnyko.net/ 提供的GTK+3乾翔,主頁默認(rèn)是法語,但有英語頁面施戴!
進(jìn)入 http://www.tarnyko.net/dl/ 下載頁面后選擇下載gtk+-bundle_3.6.4-20130513_win32.zip
下載完成后將其解壓反浓,解壓后得到的文件放到了C:\gtk+目錄下,注意這個(gè)gtk+目錄是需要自己建的赞哗,不過建議最好不要放在C盤里面雷则,這里只是舉個(gè)例子。
二:設(shè)置環(huán)境變量
我使用的是win7
64
位系統(tǒng)懈玻,設(shè)置方法如下:
點(diǎn)擊開始
菜單巧婶,之后右鍵單擊“計(jì)算機(jī)
”–>“屬性
”在側(cè)邊欄選擇“高級(jí)系統(tǒng)設(shè)置
”->在彈出的窗口選擇"高級(jí)
"標(biāo)簽頁–>“環(huán)境變量
”乾颁,我是建立在"用戶變量"里涂乌,當(dāng)然你也可以建立在“系統(tǒng)變量”里,按新建,依次添加英岭,注意如果變量名已經(jīng)存在湾盒,例如PATH,那就按編輯按鈕诅妹,然后在原有的變量值后面加入新的變量值罚勾,每個(gè)變量值之間用分號(hào)隔開
。環(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)器躏。
如果你正在寫一個(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
一般來說就這些挖炬,如果安裝了新的庫再加揽浙。
點(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+程序了,如果沒有安裝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)栴}
問題
ld.exe||cannot open output file bin\Debug\test.exe Permission denied|||=== Build finished: 1 errors, 0 warnings ===|
編譯出現(xiàn)這個(gè)錯(cuò)誤是什么原因?答案
新的數(shù)據(jù)無法寫入\Debug\test.exe
文件,這是因?yàn)樵瓉淼哪莻€(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