GTK+ 2.0 教学-编译 Hello World 程式

编译命令是:

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.