亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

windows gtk+開發環境搭建方法詳解(圖解)

2020-06-27 15:33:09
字體:
來源:轉載
供稿:網友

GTK+開發環境搭建

“工欲善其事,必先利其器”首先介紹一下GTK+開發環境的搭建,網上很多所謂的GTK的開發環境的搭建基本都是抄來抄去,也不知道有沒有人使用他們介紹的方法搭建并編譯成功,很不幸的是我使用他們寫的方法沒有搭建成功,所以有必要再增加一個原創版本來介紹GTK+開發環境的搭建,這里介紹windows下兩種環境搭建的方法,ubuntu的我就不說了,apt-get的功能真是太強大,直接sudo apt-get install gtk+2.0就搞定了,使用gcc編譯添加編譯條件就沒問題了.現在說說windows吧!第一種是使用VS開發環境,我打算基于VS2012來講解,我的電腦里裝的是2012;另一種是使用codeblocks開發工具.

準備步驟一:

首先是gtk+開發包版本的選擇,這個非常重要,我在搭建的時候參考了非常多的資料,官方的資料、個人的心得,怎么都沒有成功,最后偶然的機會發現是版本的問題。gtk+的官網上windows下的開發包分成32bit和64bit的,

gtk+開發環境,windows,gtk+

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

gtk+開發環境,windows,gtk+

為什么下載2.x的是給codeblocks準備的,codeblocks不支持直接創建3.x版本的開發環境,但是支持從2.x版本直接創建gtk+工程,

gtk+開發環境,windows,gtk+

這個稍后再講?,F在開始:

準備步驟二:

將下載的開發包壓縮文件解壓縮到一個文件夾內,在環境變量的path下將這個文件夾下的bin目錄添加進去,

gtk+開發環境,windows,gtk+

這個目錄是我試驗64bit時的截圖,不用糾結這個。

gtk+開發環境,windows,gtk+

添加完成之后,你們可以試著運行bin目錄下的gtk3-demo.exe,如果配置沒有錯誤將會出現GTK+ Code Demos的窗口,這就說明你的配置是沒有錯誤的。

gtk+開發環境,windows,gtk+

準備工作完畢,現在可以開始了。

VS2012搭建GTK+開發環境

1.新建一個空的C++項目,Visual C++—常規—空項目

gtk+開發環境,windows,gtk+

2.右鍵項目—選擇“屬性”,打開屬性設置。

gtk+開發環境,windows,gtk+

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

gtk+開發環境,windows,gtk+

4.添加新行

gtk+開發環境,windows,gtk+

將開發包的include文件夾添加進去,

gtk+開發環境,windows,gtk+

需要添加的目錄有:

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(千萬不要忘記這兩個文件)。很不幸的是這些文件夾只能一個一個的添加,不能批量添加。添加完成之后會像這樣。

gtk+開發環境,windows,gtk+

5.配置屬性—鏈接器—常規—附加庫目錄—編輯,將lib目錄添加進去

gtk+開發環境,windows,gtk+

6.配置屬性—鏈接器—輸入—附加依賴項—編輯,將lib文件夾下則*.lib文件全部添加進去,我的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

gtk+開發環境,windows,gtk+

添加完成之后像這樣:

gtk+開發環境,windows,gtk+

每行回車,后面沒有“;”

7.新建一個main.cpp文件,在文件中輸入

 

復制代碼
代碼如下:

#include <stdlib.h>
#include <gtk/gtk.h></p> <p>static void helloWorld (GtkWidget *wid, GtkWidget *win)
{
GtkWidget *dialog = NULL;</p> <p> dialog = gtk_message_dialog_new (GTK_WINDOW (win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Hello World!");
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}</p> <p>int main (int argc, char *argv[])
{
GtkWidget *button = NULL;
GtkWidget *win = NULL;
GtkWidget *vbox = NULL;</p> <p> /* Initialize GTK+ */
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
gtk_init (&argc, &argv);
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);</p> <p> /* Create the main window */
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (win), 8);
gtk_window_set_title (GTK_WINDOW (win), "Hello World");
gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
gtk_widget_realize (win);
g_signal_connect (win, "destroy", gtk_main_quit, NULL);</p> <p> /* Create a vertical box with buttons */
vbox = gtk_vbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (win), vbox);</p> <p> button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO);
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (helloWorld), (gpointer) win);
gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);</p> <p> button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
g_signal_connect (button, "clicked", gtk_main_quit, NULL);
gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);</p> <p> /* Enter the main loop */
gtk_widget_show_all (win);
gtk_main ();
return 0;
}


 

然后運行,得到:

gtk+開發環境,windows,gtk+

到此一個可以使用的VS的GTK+開發環境搭建完畢。這樣的步驟本人一步步試驗得來,應該沒有錯誤??煞判氖褂?,哈!

codeblocks下搭建GTK+開發環境

我的codeblocks是12.11版本,是目前最新的codeblocks版本,如果使用2.x版本的GTK+那么建立一個GTK+工程很容易。

1.選擇GTK+ progect

gtk+開發環境,windows,gtk+

2.next—填寫工程名字

可以隨便填寫

3.選擇開發包的直接根目錄

gtk+開發環境,windows,gtk+

如果出現上面的提示證明你使用的是3.x的開發包。出現上面錯誤是因為codeblocks的問題,你只需要重新指定一個指向2.x開發包的目錄即可。

選擇“next”,并點擊“finsh”,至此一個新的GTK+工程就完成了。

如果你原來添加到環境變量path下的目錄要更改成現在這個新目錄了,否則會有錯誤提示。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美精品日韩| 日韩精品视频在线播放| 97国产suv精品一区二区62| 国产亚洲精品久久久久久777| 综合国产在线观看| 亚洲国产另类 国产精品国产免费| 亚洲一区中文字幕| 亚洲午夜国产成人av电影男同| 性色av一区二区三区免费| 亚洲一区999| 亚洲aⅴ男人的天堂在线观看| 久久69精品久久久久久国产越南| 色偷偷综合社区| 国产精品免费观看在线| 日本不卡免费高清视频| 日韩av在线天堂网| 国产精品精品国产| 在线精品播放av| 亚洲人成网站免费播放| 欧美一区二区三区……| 国内精品小视频| 国模精品视频一区二区| 欧美高清无遮挡| 自拍偷拍免费精品| 超碰日本道色综合久久综合| 久久噜噜噜精品国产亚洲综合| 国产成人精品久久二区二区91| 亚洲视频国产视频| 欧美大全免费观看电视剧大泉洋| 琪琪亚洲精品午夜在线| 亚洲午夜久久久影院| 欧美激情网站在线观看| 亚洲综合大片69999| 国产精品视频一区国模私拍| 91国内揄拍国内精品对白| 国产欧美一区二区三区在线| 26uuu亚洲伊人春色| 中文字幕日韩av电影| 国产精品露脸av在线| 久久亚洲欧美日韩精品专区| 久久久欧美一区二区| 欧日韩不卡在线视频| 亚洲国产欧美一区| 成人黄色中文字幕| 美女视频黄免费的亚洲男人天堂| 中文字幕av日韩| 国产精品丝袜久久久久久高清| 欧美人在线视频| 亚洲男人天堂网| 国产精品丝袜久久久久久不卡| 国产精品91久久久| 国产一区二区欧美日韩| 国产精品手机播放| 欧美国产日韩在线| 国产精品久久一| 日韩av中文字幕在线免费观看| 欧洲日本亚洲国产区| 欧美性猛交xxxx黑人猛交| 欧美激情伊人电影| 国产69精品久久久久久| 色综合久久天天综线观看| 日本高清不卡在线| 国产视频999| 庆余年2免费日韩剧观看大牛| 91精品国产九九九久久久亚洲| 91久久久亚洲精品| 亚洲一级免费视频| 亚洲自拍偷拍视频| 精品无码久久久久久国产| 在线视频欧美性高潮| 国产在线播放不卡| 91天堂在线视频| 日韩精品免费综合视频在线播放| 国模极品一区二区三区| 日韩av三级在线观看| 亚洲欧美制服中文字幕| 亚洲精品第一国产综合精品| 韩国精品久久久999| 青青草成人在线| 亚洲最新av网址| 亚洲欧美在线x视频| 91九色综合久久| 亚洲日本aⅴ片在线观看香蕉| 欧美激情伊人电影| 亚洲欧美制服中文字幕| 精品国产91久久久久久老师| 亚洲美女在线视频| 久久激情视频久久| 欧美日韩国产成人在线| 在线观看欧美视频| 黑人欧美xxxx| 国内精品久久久久久久久| 亚洲最新av网址| 在线电影av不卡网址| 欧美一区视频在线| 亚洲伊人久久大香线蕉av| 久久精品视频亚洲| 精品中文视频在线| 国产精品免费一区| 91亚洲国产成人精品性色| 精品久久久久久国产91| 欧美福利视频在线| 日韩精品极品在线观看| 国产一区二区三区三区在线观看| 亚洲欧美综合图区| 日韩精品欧美国产精品忘忧草| 亚洲国产成人精品一区二区| 国产精品久久久久91| 国产日韩欧美夫妻视频在线观看| 亚洲欧美精品中文字幕在线| 欧美精品日韩www.p站| 色777狠狠综合秋免鲁丝| 久热精品视频在线免费观看| 欧美午夜www高清视频| 色午夜这里只有精品| 国产精品99久久久久久久久| 国产精品久久久久久久久久三级| 性欧美xxxx交| 国产69精品久久久久99| 久久精品成人欧美大片古装| 国产精品久久91| 日韩精品视频在线免费观看| 国产成人a亚洲精品| 国产suv精品一区二区三区88区| 日韩av在线高清| 欧美黑人xxxⅹ高潮交| 亚洲精品久久久久久久久久久久久| 欧美与黑人午夜性猛交久久久| 国内精品免费午夜毛片| 这里只有精品视频在线| 色综合伊人色综合网| 国产亚洲精品成人av久久ww| 国产中文字幕91| 午夜精品久久久久久久99热浪潮| 久久人人爽人人| 不卡av日日日| 国产精品国产三级国产专播精品人| 日本高清+成人网在线观看| 国产欧美日韩中文字幕| 成人免费网站在线观看| 亚洲色图13p| 国产精品精品一区二区三区午夜版| 精品久久久久久亚洲国产300| 欧美国产精品人人做人人爱| 欧美高清在线观看| 不卡av在线播放| 欧美成人午夜激情| 日韩乱码在线视频| 日产精品久久久一区二区福利| 久久久久久久999精品视频| 岛国av一区二区在线在线观看| 狠狠色狠色综合曰曰| 中国日韩欧美久久久久久久久| 日韩视频免费看| 亚洲国产高潮在线观看| 在线视频欧美性高潮| 久久久久亚洲精品| 国产a级全部精品| 国产精国产精品| 日韩欧美高清视频| 91香蕉嫩草影院入口| 亚洲成色777777在线观看影院| 国产在线视频欧美| 91日本在线视频|