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