0

我正在尝试在 Ubuntu natty 上安装 gtk+-3.2.3。这是一个全新的 Ubuntu 安装,仅包含安全更新。我还没有安装任何新版本的 gtk。我只有 gtk2,Ubuntu 自带的。首先,我安装了以下内容:

sudo apt-get install libffi-dev zlib1g-dev fam libdbus-1-dev libdbus-glib-1-dev gobject-introspection libxext-dev libxrender1-dbg colordiff libcairo2-dev libtiff4-dev libpng12-dev libxft-dev libxi-devel

我有以下文件夹:/home/mike/gtk

atk-2.1.5
gdk-pixbuf-2.24.1
glib-2.30.1
gtk+-3.2.3
pango-1.29.1

然后:

cd /home/mike/gtk/glib-2.30.1
./configure && make
rm -rf /home/mike/gtk/include/glib.h  /home/mike/gtk/include/gmodule.h  (glib INSTALL instructions)

重复其他文件夹,除了没有 rm,按以下顺序:

  1. atk-2.1.5
  2. gdk-pixbuf-2.24.1
  3. pango-1.29.1
  4. gtk+-3.2.3

在为 gtk+-3.2.3 运行 ./configure 之前,在终端中输入:

CPPFLAGS="-I/home/mike/gtk/include"
LDFLAGS="-L/home/mike/gtk/lib"
PKG_CONFIG_PATH="/home/mike/gtk/lib/pkgconfig"
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH
LD_LIBRARY_PATH="/home/mike/gtk/lib"
PATH="/home/mike/gtk/bin:$PATH"
export LD_LIBRARY_PATH PATH
export PKG_CONFIG_PATH="/home/mike/gtk/lib/pkgconfig:$PKG_CONFIG_PATH"

在 gtk+-3.2.3 上运行 make 时出现以下错误:

gdkwindow-x11.c: In function '_gdk_x11_moveresize_handle_event':
gdkwindow-x11.c:4301:9: error: 'XIEvent' undeclared (first use in this function)
gdkwindow-x11.c:4301:9: note: each undeclared identifier is reported only once for    each function it appears in
gdkwindow-x11.c:4301:18: error: 'ev' undeclared (first use in this function)
gdkwindow-x11.c:4301:33: error: expected expression before ')' token
gdkwindow-x11.c:4302:9: error: 'XIDeviceEvent' undeclared (first use in this function)
gdkwindow-x11.c:4302:24: error: 'xev' undeclared (first use in this function)
gdkwindow-x11.c:4302:46: error: expected expression before ')' token
gdkwindow-x11.c:4306:16: error: 'XI_Motion' undeclared (first use in this function)
gdkwindow-x11.c:4308:13: warning: implicit declaration of function '_gdk_x11_device_xi2_translate_state'
gdkwindow-x11.c:4313:16: error: 'XI_ButtonRelease' undeclared (first use in this function)
make[4]: *** [gdkwindow-x11.lo] Error 1
make[4]: Leaving directory `/home/mike/gtk/gtk+-3.2.3/gdk/x11'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/mike/gtk/gtk+-3.2.3/gdk'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/mike/gtk/gtk+-3.2.3/gdk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mike/gtk/gtk+-3.2.3'
make: *** [all] Error 2        
4

1 回答 1

1

您将 GTK3 的源代码放在任意目录中(您拥有写入权限)。你./configure从那里跑。

您可能希望将configure(每个包的)脚本传递给通用脚本--prefix以覆盖默认值/usr/local/(这是必需的,例如--prefix $HOME/pub,如果您/usr/因为没有 root 访问权限而无法在下面写入,则需要使用 )。

于 2011-12-24T08:05:58.010 回答