当前位置: 首页>>技术问答>>正文


你怎么知道在Ubuntu上安装了哪个版本的GTK +?

, , ,

问题描述

我需要确定在Ubuntu上安装了哪个版本的GTK +

男人似乎没有帮助

最佳解决思路

This suggestion将告诉您安装了哪个次要版本的2.0。不同的主要版本将具有不同的软件包名称,因为它们可以在系统上使用co-exist(以便支持使用旧版本构建的应用程序)。

即使对于通常只允许您在系统上拥有一个版本的开发文件,您也可以在同一系统上使用gtk 1.x版本和gtk 2.0版本(包含文件位于名为gtk-1.2或GTK-2.0)。

所以简而言之,对于“系统中GTK的版本”没有一个简单的答案。但…

尝试类似的东西:

dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'

列出系统上的所有libgtk软件包,包括-dev软件包。 dpkg -l将列出dpkg知道的所有软件包,包括当前未安装的软件包,因此我使用grep仅列出已安装的软件包(行以i开头)。

或者,如果它是您感兴趣的标题版本等,可能更好,请使用pkg-config:

pkg-config --modversion gtk+

将告诉你安装了什么版本的GTK 1.x开发文件,以及

pkg-config --modversion gtk+-2.0

会告诉你什么版本的GTK 2.0。旧的1.x版本也有自己的gtk-config程序,可以做同样的事情。同样,对于GTK + 3:

pkg-config --modversion gtk+-3.0

次佳解决思路

$ dpkg -s libgtk2.0-0|grep '^Version'

第三种解决思路

得到GTK3版本:

dpkg -s libgtk-3-0|grep '^Version'

或只是版本号

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

第四种思路

您也可以编译以下程序并在您的计算机上运行它。

#include <gtk/gtk.h>
#include <glib/gprintf.h>

int main(int argc, char *argv[])
{
    /* Initialize GTK */
    gtk_init (&argc, &argv);

    g_printf("%d.%d.%d\n", gtk_major_version, gtk_minor_version, gtk_micro_version);
    return(0);
}

编译用(假设上面的源文件名为version.c):

gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`

当你运行它时,你会得到一些输出。在我的旧嵌入式设备上,我得到以下内容:

[root@n00E04B3730DF n2]# ./version 
2.10.4
[root@n00E04B3730DF n2]#

第五种思路

尝试,

apt-cache policy libgtk2.0-0 libgtk-3-0 

要么,

dpkg -l libgtk2.0-0 libgtk-3-0

第六种思路

你也可以打开synaptic并搜索libgtk,它会告诉你究竟安装了哪个lib。

第七种思路

尝试:

 dpkg-query -W libgtk-3-bin

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6835.html,未经允许,请勿转载。