如何在 Ubuntu 13.10 中编译 gtk+3.10 程序?

如何在 Ubuntu 13.10 中编译 gtk+3.10 程序?

我正在学习 GTK+3。我可以在 Fedora 上编译我的程序,但是当我在 Ubuntu 13.10 上测试它时,我得到了错误

undefined reference to gtk_widget_init_template

undefined reference to gtk_widget_class_set_template_from_resource

在编译时。

Ubuntu 是否提供对 gtk+3.10 的支持?

由于上面提到的两个是在 gtk+3.10 中引入的。我确定我已经安装了 gtk 所需的所有常规开发文件。

答案1

GTK 版本 - 默认

Ubuntu 13.10 默认为 Gtk+ 3.8。

跑步dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-

在 Saucy 中答案是3.8.6-0ubuntu3.1

各种开发方案(-dev存储库中的其他 3.0.1 版和 3.0.2 版软件包也将是 v3.8。

构建兼容 3.10 的软件的建议方法

要构建 GTK3.10 特定软件包,你需要使用 Ubuntu 的当前开发版本(撰写本文时)14.04 或使用 Gnome-3 PPA

14.04 中报告的版本是 3.10-7-0ubuntu1

我的建议是使用 Virtual Box 或 ESXi 等优秀的虚拟化软件在虚拟机中安装 14.041

如果您选择使用 Gnome-3 PPA,那么您需要知道并非所有 Gnome-3 v3.10 都可用 - 因此您正在构建的软件包可能无法工作。

要添加 PPA:

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update && sudo apt-get upgrade

由于 PPA 更新了许多核心包,这可能会使您的桌面不稳定。

再次,我的建议是使用虚拟化软件在使用 Gnome 3 PPA 升级的 13.10 上安装一份副本。

外部链接:

相关内容