Windows + Eclipse + Gtk 环境(总结)
二、GTK
?? Gtk是圖形界面庫(kù),Glade是Gtk界面的快速開(kāi)發(fā)工具。可以使用Glade_with_Gtk+一體化安裝包。地址:
?? http://ftp.gnome.org/pub/GNOME/binaries/win32/glade3/3.6/
?? 本文將Gtk+安裝在D盤(pán)根目錄下。安裝正確后在Windows的cmd窗口中分別運(yùn)行pkg-config?--cflags?gtk+-2.0和pkg-config?--libs?gtk+-2.0后會(huì)有如下顯示:
??(1)>pkg-config --cflags gtk+-2.0??-mms-bitfields -Id:/Gtk+/include/gtk-2.0 -Id:/Gtk+/lib/gtk-2.0/include -Id:/Gtk+/include/atk-1.0?
??-Id:/Gtk+/include/cairo -Id:/Gtk+/include/pango-1.0 -Id:/Gtk+/include/glib-2.0 -Id:/Gtk+/lib/glib-2.0/include?
??-Id:/Gtk+/include/libpng12
???(2)>pkg-config --libs gtk+-2.0
?? -Ld:/Gtk+/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32?
?? -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl
三.創(chuàng)建工程
? 新建project new->c project,project type 選擇Hello world ANSI c project,然后按如下步驟配置:
? ?在project->properties->c/c++ build 下 setting :?
? (1)gcc complier->dirctories->include paths (-I) 中一項(xiàng)項(xiàng)添加命令的結(jié)果‘pkg-config --cflags gtk+-2.0’,即添加頭文件路徑
? ? ??即一項(xiàng)項(xiàng)添加
d:/Gtk+/include/gtk-2.0?
d:/Gtk+/lib/gtk-2.0/include?
d:/Gtk+/include/atk-1.0?
d:/Gtk+/include/cairo?
d:/Gtk+/include/pango-1.0?
d:/Gtk+/include/glib-2.0?
d:/Gtk+/lib/glib-2.0/include?
d:/Gtk+/include/libpng12?
? (2)對(duì)于linker:
? ? GCC C?linker?-> libraries中添加命令'pkg-config --libs gtk+-2.0'執(zhí)行結(jié)果
? ? ??即一項(xiàng)項(xiàng)添加
gtk-win32-2.0?
gdk-win32-2.0?
atk-1.0?
gio-2.0?
gdk_pixbuf-2.0?
pangowin32-1.0?
gdi32?
pangocairo-1.0?
pango-1.0?
cairo?
gobject-2.0?
gmodule-2.0?
glib-2.0?
intl
? ?
? ?另外還需加入庫(kù)的搜索路徑d:/Gtk+/lib
三.GTK程序Hello_world示例
#include<gtk/gtk.h>/*定義回調(diào)函數(shù)hello,點(diǎn)擊按鈕時(shí)被系統(tǒng)自動(dòng)調(diào)用*/ void hello(GtkWidget *widget,gpointer *data) { g_print("button clicked and data = %s\n",(char *)data); }/*定義回調(diào)函數(shù)destroy,關(guān)閉窗口時(shí)被系統(tǒng)自動(dòng)調(diào)用*/ void destroy(GtkWidget *widget,gpointer *data) { gtk_main_quit(); }int main(int argc,char **argv) { /*定義指向控件的指針*/ GtkWidget *window; GtkWidget *button;/*初始化圖形顯示環(huán)境*/ gtk_init(&argc,&argv);/*創(chuàng)建窗口,并設(shè)置當(dāng)關(guān)閉窗口時(shí),要執(zhí)行的回調(diào)函數(shù)*/ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(GTK_OBJECT(window),"destroy", GTK_SIGNAL_FUNC(destroy),NULL);/*設(shè)置窗口的屬性*/ gtk_container_border_width(GTK_CONTAINER(window),20);/*創(chuàng)建按鈕,并設(shè)置當(dāng)點(diǎn)擊按鈕時(shí),要執(zhí)行的回調(diào)函數(shù)*/ button = gtk_button_new_with_label("Hello World"); g_signal_connect(GTK_OBJECT(button),"clicked", GTK_SIGNAL_FUNC(hello),"I am from button");/*將按鈕加入到窗口中*/ gtk_container_add(GTK_CONTAINER(window),button); /*顯示按鈕和窗口*/ gtk_widget_show(button); gtk_widget_show(window);/*進(jìn)入消息處理循環(huán)*/ gtk_main();return 0; }
編輯運(yùn)行就可以了
總結(jié)
以上是生活随笔為你收集整理的Windows + Eclipse + Gtk 环境(总结)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: windows gtk+ 开发环境搭建
- 下一篇: VMWare下虚拟机ubuntu与宿主机