使用gtk / gtk.h的程序的依赖关系

时间:2013-08-27 15:33:06

标签: linux ubuntu gtk dependencies cairo

我有带有vortex86DX处理器的迷你电脑。今天我安装了Ubuntu 9.04。现在我想使用我的程序,它使用gtk / gtk.h来显示一些数据。我有疑问 - 什么依赖项有程序,使用GTK 3.0?这对我来说非常重要,因为我在这台小电脑上没有上网功能。

1 个答案:

答案 0 :(得分:0)

您通常使用pkg-config构建此类GTK程序。我得到(在Debian / Sid / AMD64上)编译标志

  % pkg-config --cflags gtk+-x11-3.0
  -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 \
  -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 \
  -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo \
  -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 \
  -I/usr/lib/x86_64-linux-gnu/glib-2.0/include \
  -I/usr/include/harfbuzz -I/usr/include/freetype2 \
  -I/usr/include/pixman-1 -I/usr/include/libpng12 \
  -I/usr/include/libdrm  

和链接标志

   % pkg-config --libs gtk+-x11-3.0
  -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 \
  -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo \
  -lgobject-2.0 -lglib-2.0  

请注意,这些共享库链接了其他一些(例如-lX11-ldbus)。尝试ldd某些GTK二进制文件(例如您自己的二进制文件或gedit

注意:我手动添加了反斜杠和换行符以便于阅读

然而,还有更多其他运行时依赖项:X11服务器和相关的东西(会话和窗口管理器,字体和图像,尤其是甚至某些“桌面”环境,如Gnome或IceWM等)。< / p>

我建议使用网络连接(可能使用chroot-ed环境)安装GTK使用软件包系统(例如在Ubuntu上使用aptitude install)来理解所有依赖项。