亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: ubuntu 下Gtk 開發(fā)環(huán)境建立 [打印本頁]

作者: lutao626    時間: 2009-02-18 09:39
標題: ubuntu 下Gtk 開發(fā)環(huán)境建立

                                1.Gtk 簡介
    GTK (GIMP Toolkit) 是一套用于創(chuàng)建圖形用戶界面的工具包。它遵循 LGPL
許可證,所以可以用它來開發(fā)開源軟件、自由軟件,甚至是封閉源代碼的商業(yè)軟件,而不用花費任何費用來購買許可證和使用權(quán)。當前,GTK已經(jīng)被成功地應用到
了大量的自由軟件及商業(yè)軟件中,已經(jīng)取得了很大的成功。
    當前,GTK主要由幾大組件構(gòu)成:
*Gtk+:GTK的主要構(gòu)件,包括所有的圖形控件及大量實用的API。
*Glib:包含一些標準函數(shù)的替代函數(shù),以及一些處理鏈表等數(shù)據(jù)結(jié)構(gòu)的函數(shù)等。這些替代函數(shù)被用來增強GTK 的可移植性,同時提供 libc 的對應函數(shù)的增強版本。
*Pango:該組件用來處理國際化文字輸出。
   GTK是一個跨平臺的GUI開發(fā)庫, 它是用C語言以OO的方式(俗稱面向?qū)ο驝, 又稱OO-C)開發(fā)的. 只要是有一定C語言和GUI開發(fā)基礎, 用GTK是一件很簡單的事.
2.安裝與配置
   筆者的操作系統(tǒng)為ubuntu 8.04
sudo apt-get install build-essential       #這將安裝gcc/g++/gdb/make 等基本編程工具
sudo apt-get install gnome-core-devel  #這將安裝 libgtk2.0-dev libglib2.0-dev 等開發(fā)相關(guān)的庫文件
sudo apt-get install pkg-config            #用于在編譯GTK程序時自動找出頭文件及庫文件位置
sudo apt-get install devhelp                 #這將安裝 devhelp GTK文檔查看程序
sudo apt-get install libglib2.0-doc libgtk2.0-doc  #這將安裝 gtk/glib 的API參考手冊及其它幫助文檔
sudo apt-get instal glade libglade2-dev #這將安裝基于GTK的界面構(gòu)造程序
運行如下命令檢查安裝:
pkg-config --cflags gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/pixman-1
pkg-config --libs gtk+-2.0
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm
-lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl
-lglib-2.0
3.實例
#include gtk/gtk.h>
int main(int argc, char *argv[])
{
    /* A window and a button */
    GtkWidget *win, *btn;
    /* Initialize GTK */
    gtk_init(&argc, &argv);
    /* New a window and a button */
    win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    btn = gtk_button_new_with_label("Close yourself");
   
    /* Add button to window container */
    gtk_container_add(GTK_CONTAINER(win), btn);
    /* Connect "close" and button to quit op */
    g_signal_connect(win, "destroy", G_CALLBACK(gtk_main_quit), NULL);
    g_signal_connect(btn, "clicked", G_CALLBACK(gtk_main_quit), NULL);
    /* Show all in the window */
    gtk_widget_show_all(win);
    /* Main loop, wait for signals */
    gtk_main();
    return 0;
}
上面的程序為main.c, 它所完成的功能就是創(chuàng)建一個窗口(window), 在窗口中添加一個按鈕(button), 點擊這個button或者是窗口的關(guān)閉按鈕, 就會實現(xiàn)窗口的關(guān)閉, 并使程序結(jié)束.
這幾行代碼很簡單, 主要有幾個關(guān)鍵:
4. 編譯
我用一個makefile來展示編譯命令.
# Target, compiler and objects.
EXEC   = test
CC     = gcc
OBJ    = main.o
# Use for compile.
CFLAGS = `pkg-config --cflags gtk+-2.0`
# Use for link.
CLIBS  = `pkg-config --libs gtk+-2.0`
$(EXEC): $(OBJ)
    $(CC) -o $@ $^ $(CLIBS)
main.o: main.c
    $(CC) -c $ $(CFLAGS)
clean:
    rm $(EXEC) *.o
這里于普通的makefile不同的地方是CFLAGS和CLIBS兩個變量, 分別用于編譯和鏈接.
用`......`引用pkg-config實現(xiàn)參數(shù)的flags.
在編譯時只需要在終端下執(zhí)行make命令, 就會在目錄下生成test可執(zhí)行文件.
               
               
               
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/87718/showart_1832363.html




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2