Ich brauche auf UbuntuWie finden Sie heraus, welche Version von GTK + auf Ubuntu installiert ist?
Man scheint nicht zu helfen
Ich brauche auf UbuntuWie finden Sie heraus, welche Version von GTK + auf Ubuntu installiert ist?
Man scheint nicht zu helfen
This suggestion wird Ihnen sagen, welche kleinere Version installiert, welche Version von GTK + bestimmen 2.0 installiert ist. Verschiedene Hauptversionen haben unterschiedliche Paketnamen, da sie auf dem System nebeneinander existieren können (um Anwendungen zu unterstützen, die mit älteren Versionen erstellt wurden).
Selbst für Entwicklungsdateien, die normalerweise nur eine Version auf dem System zulassen, können Sie eine Version von gtk 1.x und eine Version von gtk 2.0 auf demselben System haben (die Include-Dateien befinden sich in Verzeichnissen) gtk-1.2 oder gtk-2.0).
Kurz gesagt gibt es keine einfache Antwort auf "welche Version von GTK ist auf dem System". Aber ...
Versuchen Sie so etwas wie:
dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
zur Liste alle libgtk Pakete, einschließlich -dev diejenigen, die auf Ihrem System sind. dpkg -l
listet alle Pakete auf, die dpkg kennt, einschließlich derer, die derzeit nicht installiert sind, also habe ich grep verwendet, um nur diejenigen aufzulisten, die installiert sind (Zeile beginnt mit i).
Alternativ und wahrscheinlich besser, wenn es die Version der Header ist usw., die Sie interessiert sind, verwenden Sie pkg-config:
pkg-config --modversion gtk+
wird Ihnen sagen, welche Version von GTK 1.x Entwicklungsdateien installiert sind und
pkg-config --modversion gtk+-2.0
wird Ihnen sagen, welche Version von GTK 2.0. Die alte 1.x-Version hat auch ein eigenes gtk-config-Programm, das das gleiche tut. In ähnlicher Weise für GTK + 3:
pkg-config --modversion gtk+-3.0
$ dpkg -s libgtk2.0-0|grep '^Version'
Diese bekam kleinere Versionen von GTK + 2, aber GTK + 3 ist seit Jahren draußen und GTK + 4 ist auf dem Weg. – liberforce
Ich denke, eine Verteilung unabhängig ist:
gtk-config --version
Während gtk-config verteilungsunabhängig ist, funktioniert es nur für GTK 1.x. Der richtige Weg für neuere Versionen ist die Verwendung von pkg-config, wie ich in meiner Antwort gesagt habe. –
Sie können auch nur offene synaptischen und die Suche nach libgtk, wird es Ihnen genau zeigen, welche lib Eingerichtet.
get GTK3 Version:
dpkg -s libgtk-3-0|grep '^Version'
oder Versionsnummer
dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
Keine Installation von 'pkg-config' nötig, gut. –
Um die Antwort allgemeiner als Ubuntu zu machen (ich habe Redhat):
gtk in der Regel installiert ist unter/usr, aber möglicherweise an anderen Orten. Dies sollte in Umgebungsvariablen sichtbar sein. Überprüfen Sie mit
env | grep gtk
Dann versuchen Sie zu finden, wo Ihre GTK-Dateien gespeichert sind. Verwenden Sie beispielsweise locate
und grep.
locate gtk | grep /usr/lib
Auf diese Weise fand ich /usr/lib64/gtk-2.0
, die das Unterverzeichnis enthält 2.10.0
, die viele .so Bibliotheksdateien enthält. Meine Schlussfolgerung ist, dass ich gtk + Version 2.10 habe. Dies ist ziemlich konsistent mit dem Befehl rpm auf Redhat: rpm -qa | grep gtk2
, also denke ich, meine Schlussfolgerung ist richtig.
Sie können auch einfach das folgende Programm kompilieren und auf Ihrem Computer ausführen.
#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);
}
kompilieren mit (oben Quelldatei unter der Annahme version.c benannt ist):
gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`
Wenn Sie dies führen Sie eine Ausgabe erhalten wird. Auf meinem alten Embedded-Gerät erhalte ich folgendes:
[[email protected] n2]# ./version
2.10.4
[[email protected] n2]#
Wenn ich kompiliere wie du sagst, bekomme ich 2.24.27. Wenn ich stattdessen mit --libs gtk + -3.0 kompiliere, bekomme ich 3.10.8. Das scheint mir nur zu sagen, dass ich Entwicklungsdateien für beide habe, aber nicht für die, die ich gerade benutze. – tsbertalan
gtkv.c: 1: 21: fataler Fehler: gtk/gtk.h: Keine solche Datei oder Verzeichnis – sloven
@tsbertalan "im Moment verwenden" hängt davon ab, welche Version von GTK Ihre verschiedenen Apps sind verknüpft. – Chimera
Versuchen,
apt-cache policy libgtk2.0-0 libgtk-3-0
oder
dpkg -l libgtk2.0-0 libgtk-3-0
Versuchen:
dpkg-query -W libgtk-3-bin
Dies war die einzige Antwort, die sich anders verhielt als ich '2' für' 3' einsetzte. – tsbertalan
Diese die Version erhalten von die GTK + -Bibliotheken für GTK + 2 und GTK + 3.
dpkg -l | egrep "libgtk(2.0-0|-3-0)"
Als Hauptversionen sind parallel installiert, können Sie sowohl auf Ihrem System haben, das meinen Fall ist, so dass die obige Befehl gibt diese auf meinem Ubuntu Trusty System:
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
Das bedeutet, ich habe GTK + 2.24.23 und 3.10.8 installiert.
Wenn das, was Sie wollen, ist die Version der Entwicklungsdateien verwenden pkg-config --modversion gtk+-3.0
zum Beispiel für GTK + 3. Um das zu den verschiedenen Hauptversionen von GTK +, mit einiger sed Magie zu erweitern, ergibt dies:
pkg-config --list-all | sed -ne 's/\(gtk+-[0-9]*.0\).*/\1/p' | xargs pkg-config --modversion
Irgendwelche Vorschläge für Windows? Wie installiere ich gtk-Version unter Windows? –
Das Programm pkg-config ist Teil der Windows-Installation. Also sollte pkg-config --modversion gtk + -2.0 in der Kommandozeile geschrieben werden. – pepan
Ziemlich sicher, dass 'libgtk *' in 'dpkg -l libgtk *' in einfache Anführungszeichen ('dpkg -l 'libgtk *'') eingeschlossen sein muss, um eine Platzhaltererweiterung auf der Shell-Ebene zu verhindern. – sevko