我正在学习 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 上安装一份副本。
外部链接:
- [1]安装 ESXi