Мне нужно определить, какая версия GTK + установлена в Ubuntu
Человек, кажется, не помогает
Это предложение сообщит вам, какая дополнительная версия 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
libgtk*
indpkg -l libgtk*
нужно заключить в одинарные кавычки (dpkg -l 'libgtk*'
), чтобы предотвратить расширение подстановочных знаков на уровне оболочки.получить версию GTK3:
или просто номер версии
источник
Вы можете использовать эту команду:
источник
Вы также можете просто скомпилировать следующую программу и запустить ее на своем компьютере.
скомпилировать с помощью (при условии, что исходный файл называется version.c):
Когда вы запустите это, вы получите некоторый результат. На моем старом встроенном устройстве я получаю следующее:
источник
--libs gtk+-3.0
вместо этого, я получу 3.10.8. Это просто говорит мне, что у меня есть файлы разработки для обоих, но не те, которые я использую в данный момент.Пытаться,
или же,
источник
Вы также можете просто открыть synaptic и выполнить поиск по libgtk, он покажет вам, какая именно библиотека установлена.
источник
Это не так уж и сложно.
Просто проверьте версию утилит gtk + toolkit в терминале:
источник
Я думаю, что независимый от распространения способ:
gtk-config --version
источник
Пытаться:
источник
2
на3
.Это получит версию библиотек GTK + для GTK + 2 и GTK + 3.
Поскольку основные версии устанавливаются параллельно, в вашей системе могут быть обе версии, что является моим случаем, поэтому приведенная выше команда возвращает это в моей системе Ubuntu Trusty:
Это означает, что у меня установлены GTK + 2.24.23 и 3.10.8.
Если вам нужна версия файлов разработки, используйте,
pkg-config --modversion gtk+-3.0
например, для GTK + 3. Чтобы распространить это на различные основные версии GTK +, с некоторой магией sed, это дает:источник
Чтобы сделать ответ более общим, чем в Ubuntu (у меня Redhat):
gtk обычно устанавливается в / usr, но возможно и в других местах. Это должно быть видно в переменных окружения. Проверить с
Затем попробуйте найти, где хранятся ваши файлы gtk. Например, используйте
locate
и grep.Таким способом я обнаружил
/usr/lib64/gtk-2.0
, что он содержит подкаталог2.10.0
, в котором находится множество файлов библиотеки .so. Мой вывод таков, что у меня gtk + версии 2.10. Это скорее согласуется с командой rpm в Redhat :rpm -qa | grep gtk2
, так что я думаю, что мой вывод верен.источник
Поскольку
apt-cache policy
будут перечислены все доступные совпадения, даже если они не установлены, я бы предложил использовать эту команду для более управляемого короткого списка пакетов, связанных с GTK, установленных в вашей системе:источник