2008-09-24 6 views

ответ

54

This suggestion покажет вам, какие незначительные версии 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-конфигурации:

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

Любое предложение для окон? как найти установленную версию 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

Довольно уверен, что `libgtk *` в `dpkg -l libgtk *` должен быть заключен в одинарные кавычки (`dpkg -l 'libgtk *'`), чтобы предотвратить расширение подстановочных знаков на уровне оболочки. – 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

прибудет версия GTK3:

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

или просто номер версии

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

Для того, чтобы ответить более общие, чем Ubuntu (я имею Redhat):

GTK обычно установлен под/usr, но, возможно, в других местах. Это должно быть видимым в переменных среды. Проверьте с помощью

env | grep gtk 

Затем попробуйте найти, где хранятся ваши файлы gtk. Например, используйте locate и grep.

locate gtk | grep /usr/lib 

Таким образом, я нашел /usr/lib64/gtk-2.0, который содержит подкаталог 2.10.0, который содержит много .so библиотеки файлов. Я пришел к выводу, что у меня есть gtk + version 2.10. Это скорее согласуется с командой rpm на Redhat: 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 + для GTK + 2 и GTK + 3.

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

В качестве основных версий параллельны устанавливаемых, вы можете иметь как на вашу систему, что мой случай, так что приведенная выше команда возвращает это на моей 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 

Это означает, что у меня есть Установлены 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