我有一个用C语言编写的小程序,想向其中添加GUI,因此环顾四周后,我决定使用GTK +。我使用MacPorts安装了gtk2(安装的版本是gtk2 @ 2.24.18_1 + x11)。
我正在用编译程序
gcc -Wall -Wextra -pendantic `pkg-config --libs --cflags gtk+-2.0` myprogram.c -lpthread -o myprogram
编译过程中没有错误,但是当我运行它时,经过一段时间后,我会出现随机错误,例如:
Gdk:ERROR:gdkregion-generic.c:1110:void miUnionNonO(GdkRegion *, GdkRegionBox *, GdkRegionBox *, gint, gint): assertion failed: (y1 < y2)
Gdk:ERROR:gdkregion-generic.c:337:void miSetExtents(GdkRegion *): assertion failed: (pExtents->y1 < pExtents->y2)
Assertion failed: (ret != inval_id), function _XAllocID, file xcb_io.c, line 529.
Fatal IO error 35 (Resource temporarily unavailable) on X server /tmp/launch-7OAilk/org.macosforge.xquartz:0.
Assertion failed: (! xcb_xlib_unknown_req_in_deq), function dequeue_pending_request, file xcb_io.c, line 179.
在我看来,这些错误是由Gtk / Gdk / XQuartz中的错误引起的,有没有简单的方法可以解决此问题?
我正在运行OS X Mountain Lion 10.8.4,XCode 4.6.2和XQuartz 2.7.4(xorg-server 1.13.0)。