編譯命令是:
gcc -Wall -g helloworld.c -o helloworld `pkg-config –cflags gtk+-2.0`
`pkg-config –libs gtk+-2.0`
這裡使用了程式 pkg-config,可以從 www.freedesktop.org 得到。這個程式讀取 GTK 附帶的 .pc 檔來決定編譯 GTK 程式需要的編譯選項。pkg-config –cflags gtk+-2.0 列出 include 目錄,pkg-config –libs gtk+-2.0 列出編譯器要連結的函式庫列表以及他們所處的目錄,也可以合在一起用,像這樣:pkg-config –cflags –libs gtk+-2.0。
注意上面編譯命令中使用的單引號型態是很重要的。(譯者註:這裡使用了「命令替換」。命令替換(command substitution)使得可以捕獲一個命令的輸出而在另一個命令中替換它。這個單引號不是ENTER鍵左邊的那個,而是ESC鍵下面的那個。)
連結時常用的函式庫:
- GTK 函式庫(-lgtk),元件庫,基於 GDK。
- GDK 函式庫(-lgdk),Xlib 函式庫的外包(wrapper)。
- gdk-pixbuf 函式庫(-lgdk_pixbuf),影像處理函式庫。
- Pango 函式庫(-lpango),處理國際化文字。
- gobject 函式庫(-lgobject),包含作為 GTK 基礎的型態系統。
- gmodule 函式庫(-lgmodule),載入執行時期的函式庫。
- GLib 函式庫(-lglib),包含各種函式;這個範例裡只用了 g_print()。GTK 是基於 GLib 的,因此你總需要這個函式庫。詳見GLib這一章。
- Xlib 函式庫(-lX11),GDK 要使用。
- Xext 函式庫(-lXext),包含shared memory pixmaps 和其它 X 擴展。
- math 函式庫(-lm),數學函式庫,這個被 GTK 因各種目的而使用。
1 則留言