Question

Je dois déterminer quelle version de GTK + est installée sur Ubuntu

L'homme ne semble pas aider

Était-ce utile?

La solution

Cette suggestion vous indiquera quelle version mineure de 2.0 est installée. Les différentes versions principales auront des noms de paquetages différents car elles peuvent coexister sur le système (afin de prendre en charge les applications construites avec des versions plus anciennes).

Même pour les fichiers de développement, qui ne vous permettraient normalement que d'avoir 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 d'inclusion se trouvent dans des répertoires appelés gtk -1.2 ou gtk-2.0).

En résumé, il n’existe pas de réponse simple à la question de savoir quelle version de GTK se trouve sur le système. Mais ...

Essayez quelque chose comme:

dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'

pour lister tous les paquets libgtk, y compris ceux -dev, présents sur votre système. dpkg -l listera tous les paquets connus de dpkg, y compris ceux qui ne sont pas installés actuellement. J'ai donc utilisé grep pour ne répertorier que ceux installés (la ligne commence par i).

Sinon, et probablement mieux si c'est la version des en-têtes, etc. qui vous intéresse, utilisez pkg-config:

pkg-config --modversion gtk+

vous indiquera quelle version des fichiers de développement de GTK 1.x sont installés et

pkg-config --modversion gtk+-2.0

vous dira quelle version de GTK 2.0. L'ancienne version 1.x a également son propre programme gtk-config qui fait la même chose. De même, pour GTK + 3:

pkg-config --modversion gtk+-3.0

Autres conseils

$ dpkg -s libgtk2.0-0|grep '^Version'

Obtenir la version GTK3:

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

ou juste le numéro de version

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

Vous pouvez également simplement compiler le programme suivant et l'exécuter sur votre ordinateur.

#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 que le fichier source ci-dessus s'appelle version.c):

gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`

Lorsque vous exécuterez ceci, vous obtiendrez une sortie. Le message suivant s'affiche sur mon ancien périphérique intégré:

[root@n00E04B3730DF n2]# ./version 
2.10.4
[root@n00E04B3730DF n2]#

Essayez,

apt-cache policy libgtk2.0-0 libgtk-3-0 

ou

dpkg -l libgtk2.0-0 libgtk-3-0

Vous pouvez aussi simplement ouvrir synaptic et rechercher libgtk, il vous montrera exactement quelle lib est installée.

Essayez:

 dpkg-query -W libgtk-3-bin

Je pense qu'une méthode indépendante de la distribution est:

gtk-config --version

Ceci obtiendra la version des bibliothèques GTK + pour GTK + 2 et GTK + 3.

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

Comme les versions principales sont installables en parallèle, vous pouvez avoir les deux sur votre système, ce qui est mon cas. La commande ci-dessus renvoie donc cette information sur mon système 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

Cela signifie que GTK + 2.24.23 et 3.10.8 sont 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

Pour rendre la réponse plus générale que Ubuntu (j'ai Redhat):

gtk est généralement installé sous / usr, mais peut-être ailleurs. Cela devrait être visible dans les variables d'environnement. Vérifiez avec

env | grep gtk

Puis essayez de trouver où sont stockés vos fichiers gtk. Par exemple, utilisez local et grep.

locate gtk | grep /usr/lib

De cette manière, j'ai trouvé /usr/lib64/gtk-2.0 , qui contient le sous-répertoire 2.10.0 , qui contient de nombreux fichiers de bibliothèque .so. Ma conclusion est que j'ai gtk + version 2.10. Ceci est assez cohérent avec la commande rpm sur Redhat: rpm -qa | grep gtk2 , je pense donc que ma conclusion est juste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top