我需要确定在Ubuntu上安装了哪个版本的GTK +
男人似乎没有帮助
此建议将告诉您安装了哪个次要版本的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:
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#include 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