为什么 gtk+ 的安装过程如此复杂?

why is the install procedure for gtk+ so complicated?

我正在尝试在 ubuntu 14.04 上安装 gtk+ (3.20.3)。我下载了 gtk + 包 & 运行 配置命令。我得到了

Requested 'atk >= 2.15.1' but version of Atk is 2.10.0

Requested 'pango >= 1.37.3' but version of Pango is 1.36.3

Requested 'cairo >= 1.14.0' but version of cairo is 1.13.1

Requested 'cairo-gobject >= 1.14.0' but version of cairo-gobject is 1.13.1

我安装的 glib 也遇到了上述版本不匹配错误,并且在安装了它要求的其他一些先决条件之后。

我现在递归地坚持安装上面的每一个,每个都问其他问题。对于 ATK,我得到一些错误,如“../atk/.libs/libatk-1.0.so: undefined reference to `g_type_check_instance_is_fundamentally_a'”,我必须尝试解决。

问题为什么这么复杂?难道我做错了什么?有没有像"apt-get install gtk"之类的步骤。我已经花了 2 个多小时,但离完成还差得很远。

我只是想安装 gtk+,因为我需要一个简单的 UI 用于某个 C 程序。没想到安装这么难

从源代码构建 GTK+ 的过程并不比构建其他项目的过程复杂多少。 GTK+ 有各种依赖关系,而不是将所有东西都捆绑到它自己的存储库中;这意味着您需要检查依赖项列表(在 configure.ac 文件中指定)并安装或构建它们。

如果要设置开发环境,建议使用jhbuild,它类似于virtualenv for Python。 jhbuild 命令知道在 GNOME 平台(包括 GTK+)中构建各种项目所需的所有依赖项,并将在单独的前缀中下载、构建和安装这些依赖项,从而允许您在该前缀中构建自己的代码嗯

您可以通过阅读 GNOME Newcomers guide.

快速开始使用 jhbuild

@ebassi 是正确的,假设您需要更新版本的 GTK+,或者想自己开发 GTK+。如果您只想编写一个 GTK 应用程序,并且对版本不挑剔,请查看 Ubuntu 包 libgtk-3-dev