2008-09-24 110 views

回答

54

This suggestion会告诉你哪些的2.0次版本安装。不同的主版本会有不同的软件包名称,因为它们可以共存于系统中(以支持使用旧版本构建的应用程序)。

即使对于开发文件,通常只会让系统上有一个版本,您也可以在同一个系统上安装gtk 1.x版本和gtk 2.0版本(include文件位于目录中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配置的头部等的版本可能会更好:

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 
+1

有关Windows的任何建议?如何在Windows上找到安装的gtk版本? – 2013-05-02 12:47:38

+0

pkg-config程序是windows安装的一部分。因此,在命令行中编写pkg-config --modversion gtk + -2.0应该可以工作。 – pepan 2013-11-23 09:35:05

+0

很确定`dpkg -l libgtk *`中的`libgtk *`必须用单引号(`dpkg -l'libgtk *'`)括起来,以防止在shell级别进行通配符扩展。 – sevko 2015-07-24 16:01:16

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

这正在获取GTK + 2的小版本,但GTK + 3已经出现多年,并且GTK + 4已经出现。 – liberforce 2017-12-05 16:50:21

1

我想分布无关的方式是:

gtk-config --version

+1

尽管gtk-config独立于分发版,但它仅适用于GTK 1.x.更新版本的正确方法是使用pkg-config,正如我在答案中所述。 – 2008-09-25 15:09:21

3

您也可以只开放突触和搜索libgtk,它会告诉你到底是哪lib中是安装。

20

GET GTK3版本:

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

或只是版本号

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

为了使答案比Ubuntu的更普遍的(我有红帽):

GTK通常安装在/ usr下,但可能在其他位置。这应该在环境变量中可见。检查与

env | grep gtk 

然后尝试找到您的gtk文件的存储位置。例如,使用locate和grep。

locate gtk | grep /usr/lib 

这样,我发现/usr/lib64/gtk-2.0,其中包含子目录2.10.0,其中包含许多.so库文件。我的结论是,我有gtk +版本2.10。这与Redhat上的rpm命令相当一致:rpm -qa | grep gtk2,所以我认为我的结论是正确的。

6

你也可以编译下面的程序并在你的机器上运行它。

#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` 

当你运行这个你会得到一些输出。在我的旧嵌入式设备,我得到以下几点:

[[email protected] n2]# ./version 
2.10.4 
[[email protected] n2]# 
4

尝试,

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

,或者

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

这将让版本用于GTK + 2和GTK + 3的GTK +库。

dpkg -l | egrep "libgtk(2.0-0|-3-0)" 

由于主要版本是并行安装,可以将您的系统,这是我的情况上有两个动作,所以上面的命令返回此我的Ubuntu忠实的系统上:

ii libgtk-3-0:amd64          3.10.8-0ubuntu1.6         amd64  GTK+ graphical user interface library 
ii libgtk2.0-0:amd64          2.24.23-0ubuntu1.4         amd64  GTK+ graphical user interface library 

这意味着我有GTK + 2.24.23和3.10.8安装。

如果你想要的是发展的文件的版本,使用pkg-config --modversion gtk+-3.0例如用于GTK + 3.要延长到GTK +的不同主要版本,一些SED魔术,这给:

pkg-config --list-all | sed -ne 's/\(gtk+-[0-9]*.0\).*/\1/p' | xargs pkg-config --modversion 
相关问题