编译命令是:
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。
[adsense][/adsense]
注意上面编译命令中使用的单引号型态是很重要的。(译者注:这里使用了“命令替换”。命令替换(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 則留言
Comments are closed.