J'ai besoin de déterminer quelle version de GTK + est installé sur UbuntuComment savoir quelle version de GTK + est installée sur Ubuntu?
L'homme ne semble pas aider
J'ai besoin de déterminer quelle version de GTK + est installé sur UbuntuComment savoir quelle version de GTK + est installée sur Ubuntu?
L'homme ne semble pas aider
This suggestion vous dira quelle version mineure de 2.0 est installé. Différentes versions majeures auront des noms de paquets différents car ils peuvent coexister sur le système (afin de supporter les applications construites avec des versions plus anciennes).
Même pour les fichiers de développement, qui normalement ne vous permettraient qu'une version sur le système, vous pouvez avoir une version de gtk 1.x et une version de gtk 2.0 sur le même système (les fichiers include sont dans des répertoires appelés gtk-1.2 ou gtk-2.0). En bref, il n'y a pas de réponse simple à "quelle version de GTK est sur le système". Mais ...
Essayez quelque chose comme:
dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
à la liste tous les forfaits libgtk, y compris les -dev, qui sont sur votre système. dpkg -l
listera tous les paquets que dpkg connait, y compris ceux qui ne sont pas actuellement installés, donc j'ai utilisé grep pour lister seulement ceux qui sont installés (la ligne commence par i).
Sinon, et probablement mieux si elle est la version des en-têtes, etc que vous êtes intéressé par, l'utilisation pkg-config:
pkg-config --modversion gtk+
vous dira quelle version de fichiers de développement 1.x GTK sont installés , et
pkg-config --modversion gtk+-2.0
vous dira quelle version de GTK 2.0. L'ancienne version 1.x possède également son propre programme gtk-config qui fait la même chose. De même, pour GTK + 3:
pkg-config --modversion gtk+-3.0
$ dpkg -s libgtk2.0-0|grep '^Version'
Cette recevait des versions mineures de GTK + 2, mais GTK + 3 est sorti depuis des années et GTK + 4 en cours de route. – liberforce
Je pense que d'une manière de distribution indépendante est:
gtk-config --version
Alors que gtk-config est indépendant de la distribution, il ne fonctionne que pour GTK 1.x. La bonne façon pour les nouvelles versions est d'utiliser pkg-config, comme je l'ai dit dans ma réponse. –
Vous pouvez également synaptique il suffit d'ouvrir et rechercher libgtk, il va vous montrer exactement ce qui lib est installée.
get version GTK3:
dpkg -s libgtk-3-0|grep '^Version'
ou tout simplement le numéro de version
dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
Ne nécessitant pas l'installation de 'pkg-config', bon. –
Pour rendre la réponse plus générale que Ubuntu (je Redhat):
gtk est généralement installé sous/usr, mais éventuellement dans d'autres endroits. Cela devrait être visible dans les variables d'environnement. Vérifiez avec
env | grep gtk
Ensuite, essayez de trouver où vos fichiers gtk sont stockés. Par exemple, utilisez locate
et grep.
locate gtk | grep /usr/lib
De cette façon, je trouve /usr/lib64/gtk-2.0
, qui contient le sous-répertoire 2.10.0
, qui contient de nombreux fichiers .so bibliothèque. Ma conclusion est que j'ai gtk + version 2.10. C'est plutôt cohérent avec la commande rpm sur Redhat: rpm -qa | grep gtk2
, donc je pense que ma conclusion est juste.
Vous pouvez également simplement compiler le programme suivant et l'exécuter sur votre machine.
#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);
}
compiler avec (en supposant ci-dessus fichier source est nommé version.c):
gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`
Lorsque vous exécutez cela, vous obtiendrez des messages. Sur mon ancien appareil embarqué, je reçois le texte suivant:
[[email protected] n2]# ./version
2.10.4
[[email protected] n2]#
Si je compile comme vous le dites, je reçois 2.24.27. Si je compile avec '--libs gtk + -3.0' à la place, j'obtiens 3.10.8. Cela semble juste me dire que j'ai des fichiers de développement pour les deux, mais pas ce que j'utilise pour le moment. – tsbertalan
gtkv.c: 1: 21: erreur fatale: gtk/gtk.h: Aucun fichier ou répertoire – sloven
@tsbertalan "en cours d'utilisation" dépend de la version de GTK avec laquelle vos différentes applications sont liées. – Chimera
Essayez,
apt-cache policy libgtk2.0-0 libgtk-3-0
ou,
dpkg -l libgtk2.0-0 libgtk-3-0
Essayez:
dpkg-query -W libgtk-3-bin
C'était la seule réponse qui se comportait différemment quand j'ai substitué '2' à' 3'. – tsbertalan
Cela obtenir la version de les bibliothèques GTK + pour GTK + 2 et GTK + 3.
dpkg -l | egrep "libgtk(2.0-0|-3-0)"
Comme les versions principales sont parallèles installable, vous pouvez avoir à la fois sur votre système, ce qui est mon cas, de sorte que la commande retourne au-dessus sur mon système Trusty 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
Cela signifie que j'ai GTK + 2.24.23 et 3.10.8 installés.
Si ce que vous voulez est la version des fichiers de développement, utilisez pkg-config --modversion gtk+-3.0
par exemple pour GTK + 3. Pour étendre cela aux différentes versions majeures de GTK +, avec un peu de magie sed, cela donne:
pkg-config --list-all | sed -ne 's/\(gtk+-[0-9]*.0\).*/\1/p' | xargs pkg-config --modversion
Une suggestion pour Windows? comment trouver la version gtk installée sur Windows? –
Le programme pkg-config fait partie de l'installation de Windows. Donc écrire pkg-config --modversion gtk + -2.0 dans la ligne de commande devrait fonctionner. – pepan
Assez sûr que 'libgtk *' dans 'dpkg -l libgtk *' doit être entouré de guillemets simples ('dpkg -l 'libgtk *' ') pour empêcher l'expansion de caractères génériques au niveau du shell. – sevko