我需要确定Ubuntu上安装了哪个版本的GTK+
看起来Man页没有提供帮助
这个建议可以告诉您已安装的2.0小版本号。不同的主要版本会有不同的软件包名称,因为它们可以共存于系统中(以支持使用旧版本构建的应用程序)。
即使对于开发文件,通常只能在系统上安装一个版本,您也可以同时拥有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 --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
这并不太难。
只需从终端检查您的 gtk+ 工具包实用程序版本即可:
gtk-launch --version
获取GTK3版本:
dpkg -s libgtk-3-0|grep '^Version'
或者只是版本号
dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
你可以使用这个命令:
$ dpkg -s libgtk2.0-0|grep '^Version'
#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]#
--libs gtk+-3.0
编译,我得到的是3.10.8。这只是告诉我我同时拥有两个版本的开发文件,但并没有告诉我当前正在使用哪一个。 - tsbertalanapt-cache policy libgtk2.0-0 libgtk-3-0
dpkg -l libgtk2.0-0 libgtk-3-0
gtk-config --version
由于 apt-cache policy
列出了所有可用的匹配项,即使未安装,我建议使用此命令来获取系统上已安装的与 GTK 相关的软件包的更易管理的简短列表:
apt list --installed libgtk*
dpkg -l | egrep "libgtk(2.0-0|-3-0|-4)"
由于主要版本是并行安装的,您的系统上可能有多个版本,这是我的情况,因此在我的Ubuntu Trusty系统上,上述命令返回以下内容:
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
pkg-config --modversion gtk+-2.0
- 对于GTK 3,请使用pkg-config --modversion gtk+-3.0
- 对于GTK 4,请使用pkg-config --modversion gtk4
(这是因为“+”从“GTK+”中删除了一段时间。)
dpkg -l libgtk*
中的libgtk*
必须用单引号括起来 (dpkg -l 'libgtk*'
),以防止在 shell 级别进行通配符扩展。 - sevkopkg-config --modversion gtkmm-3.0
- Melroy van den Berg