在撰寫這篇教學文件時正好在學Ubuntu,這邊說明一下如何在Ubuntu下設定GTK開發基本環境。
由於GTK基本上主要以C語言來撰寫,您必須有C編譯器,Ubuntu預設安裝好後就有gcc了,不過缺少必要的Header file,您可以在文字模式下,安裝build-essential套件,例如:
sudo apt-get install build-essential
安裝完成後,可以寫個基本的C語言程式:
hello.c
#include
int main(void) {
printf("Hello! World!\n");
printf("哈啰!C語言!\n");
return 0;
}
編譯並執行看看:
$ gcc -o hello hello.c
$./hello
Hello! World!
哈啰!C語言!
再來安裝GTK開發套件libgtk2.0-dev:
sudo apt-get install libgtk2.0-dev
安裝完成後,可以使用pkg-config查看一下GTK的相關編譯環境資訊:
pkg-config --cflags --libs gtk+-2.0
pkg-config會讀取GTK附帶的.pc檔來取得相關編譯資訊,--cflags會列出include目錄,--libs列出所連結的函式庫及其所在目錄,以我的電腦為例:
目錄,以我的電腦為例:
$ pkg-config --cflags --libs 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 -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
可以分開執行比較清楚,例如:可以分開執行比較清楚,例如:
$ 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
安裝GTK環境只要安裝一個libgtk2.0-dev就可以了,而安裝gnome開發環境的話,需要裝gnome-core-devel,它包含GTK開發包。這裡我們只介紹安裝GTK2.0的方法。