编译命令是:
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)使得可以捕获一个命令的输出而在另一个命令中替换它。这个单引号不是回车键左边的那个,而是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),包含共享内存位图和其它 X 扩展。
math 库(-lm),数学库,这个被 GTK 因各种目的而使用。