GTK+開(kāi)發(fā)環(huán)境搭建
“工欲善其事,必先利其器”首先介紹一下GTK+開(kāi)發(fā)環(huán)境的搭建,網(wǎng)上很多所謂的GTK的開(kāi)發(fā)環(huán)境的搭建基本都是抄來(lái)抄去,也不知道有沒(méi)有人使用他們介紹的方法搭建并編譯成功,很不幸的是我使用他們寫(xiě)的方法沒(méi)有搭建成功,所以有必要再增加一個(gè)原創(chuàng)版本來(lái)介紹GTK+開(kāi)發(fā)環(huán)境的搭建,這里介紹windows下兩種環(huán)境搭建的方法,ubuntu的我就不說(shuō)了,apt-get的功能真是太強(qiáng)大,直接sudo apt-get install gtk+2.0就搞定了,使用gcc編譯添加編譯條件就沒(méi)問(wèn)題了.現(xiàn)在說(shuō)說(shuō)windows吧!第一種是使用VS開(kāi)發(fā)環(huán)境,我打算基于VS2012來(lái)講解,我的電腦里裝的是2012;另一種是使用codeblocks開(kāi)發(fā)工具.
準(zhǔn)備步驟一:
首先是gtk+開(kāi)發(fā)包版本的選擇,這個(gè)非常重要,我在搭建的時(shí)候參考了非常多的資料,官方的資料、個(gè)人的心得,怎么都沒(méi)有成功,最后偶然的機(jī)會(huì)發(fā)現(xiàn)是版本的問(wèn)題。gtk+的官網(wǎng)上windows下的開(kāi)發(fā)包分成32bit和64bit的,

網(wǎng)上我看到的文章說(shuō)的都是根據(jù)自己的系統(tǒng)選擇開(kāi)發(fā)包版本,我的系統(tǒng)是windows 8.1 x64 pro版本,足夠新了吧!很多軟件開(kāi)發(fā)人員喜歡xp系統(tǒng),但是我認(rèn)為最新的東西才是適合軟件開(kāi)發(fā)人員的,如果我們自己都固步自封,怎么做出好的東西給客戶呢,新的東西雖然冒險(xiǎn),但是你可以根據(jù)自己項(xiàng)目的特點(diǎn)進(jìn)行取舍,現(xiàn)在大家不喜歡用新東西的原因無(wú)非是出了問(wèn)題無(wú)法很容易的找到解決方案,這個(gè)看自己了!我這是自己折騰著玩,沒(méi)有老板在后面催著,所以我選擇最新的系統(tǒng)、最新的開(kāi)發(fā)包。無(wú)論是你的系統(tǒng)是32bit還是64bit的,不要根據(jù)系統(tǒng)選擇開(kāi)發(fā)包,要根據(jù)編譯器是32bit還是64bit來(lái)選擇開(kāi)發(fā)包,無(wú)論VS2012還是codeblocks默認(rèn)的編譯器都是32bit的,所以選擇32bit的開(kāi)發(fā)包即可,由于gtk+是使用gcc編譯的或者minGW,使用VS2012的MS編譯器有點(diǎn)小問(wèn)題,但是不影響使用。到www.gtk.org網(wǎng)站上下載gtk All-in-one bundle版本,這個(gè)版本打包了所有需要的文件,比較方便,我下載的是gtk+bundle_3.6.4-20130921_win32.zip和gtk+bundle_2.24.10-20120208_win32.zip是目前3.x和2.x最新的版本了。

為什么下載2.x的是給codeblocks準(zhǔn)備的,codeblocks不支持直接創(chuàng)建3.x版本的開(kāi)發(fā)環(huán)境,但是支持從2.x版本直接創(chuàng)建gtk+工程,

這個(gè)稍后再講?,F(xiàn)在開(kāi)始:
準(zhǔn)備步驟二:
將下載的開(kāi)發(fā)包壓縮文件解壓縮到一個(gè)文件夾內(nèi),在環(huán)境變量的path下將這個(gè)文件夾下的bin目錄添加進(jìn)去,

這個(gè)目錄是我試驗(yàn)64bit時(shí)的截圖,不用糾結(jié)這個(gè)。

添加完成之后,你們可以試著運(yùn)行bin目錄下的gtk3-demo.exe,如果配置沒(méi)有錯(cuò)誤將會(huì)出現(xiàn)GTK+ Code Demos的窗口,這就說(shuō)明你的配置是沒(méi)有錯(cuò)誤的。

準(zhǔn)備工作完畢,現(xiàn)在可以開(kāi)始了。
VS2012搭建GTK+開(kāi)發(fā)環(huán)境
1.新建一個(gè)空的C++項(xiàng)目,Visual C++—常規(guī)—空項(xiàng)目

2.右鍵項(xiàng)目—選擇“屬性”,打開(kāi)屬性設(shè)置。

3.配置屬性—C/C++—常規(guī)—附加包含目錄—編輯

4.添加新行

將開(kāi)發(fā)包的include文件夾添加進(jìn)去,

需要添加的目錄有:
include,及include下的所有文件夾(atk-1.0,cairo,fontconfig,freetype2,gail-3.0,gdk-pixbuf-2.0,gio-win32-2.0,glib-2.0,jasper,libcroco-0.6,libpng15,librsvg-2.0,libxml2,lzma,pango-1.0,pixman-1),和lib文件夾下的glib-2.0/include、libffi-3.0.12/include(千萬(wàn)不要忘記這兩個(gè)文件)。很不幸的是這些文件夾只能一個(gè)一個(gè)的添加,不能批量添加。添加完成之后會(huì)像這樣。

5.配置屬性—鏈接器—常規(guī)—附加庫(kù)目錄—編輯,將lib目錄添加進(jìn)去

6.配置屬性—鏈接器—輸入—附加依賴項(xiàng)—編輯,將lib文件夾下則*.lib文件全部添加進(jìn)去,我的lib目錄下有:
atk-1.0.lib
cairo.lib
fontconfig.lib
gailutil.lib
gdk_pixbuf-2.0.lib
gdk-win32-3.0.lib
gio-2.0.lib
glib-2.0.lib
gmodule-2.0.lib
gobject-2.0.lib
gthread-2.0.lib
gtk-win32-3.0.lib
pango-1.0.lib
pangocairo-1.0.lib
pangoft2-1.0.lib
pangowin32-1.0.lib

添加完成之后像這樣:

每行回車,后面沒(méi)有“;”
7.新建一個(gè)main.cpp文件,在文件中輸入
然后運(yùn)行,得到:

到此一個(gè)可以使用的VS的GTK+開(kāi)發(fā)環(huán)境搭建完畢。這樣的步驟本人一步步試驗(yàn)得來(lái),應(yīng)該沒(méi)有錯(cuò)誤??煞判氖褂茫?!
codeblocks下搭建GTK+開(kāi)發(fā)環(huán)境
我的codeblocks是12.11版本,是目前最新的codeblocks版本,如果使用2.x版本的GTK+那么建立一個(gè)GTK+工程很容易。
1.選擇GTK+ progect

2.next—填寫(xiě)工程名字
可以隨便填寫(xiě)
3.選擇開(kāi)發(fā)包的直接根目錄

如果出現(xiàn)上面的提示證明你使用的是3.x的開(kāi)發(fā)包。出現(xiàn)上面錯(cuò)誤是因?yàn)閏odeblocks的問(wèn)題,你只需要重新指定一個(gè)指向2.x開(kāi)發(fā)包的目錄即可。
選擇“next”,并點(diǎn)擊“finsh”,至此一個(gè)新的GTK+工程就完成了。
如果你原來(lái)添加到環(huán)境變量path下的目錄要更改成現(xiàn)在這個(gè)新目錄了,否則會(huì)有錯(cuò)誤提示。
新聞熱點(diǎn)
疑難解答
圖片精選