我需要确定在Ubuntu上安装了哪个版本的GTK +
男人似乎没有帮助
答案 0 :(得分:61)
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-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
答案 1 :(得分:24)
$ dpkg -s libgtk2.0-0|grep '^Version'
答案 2 :(得分:21)
获取GTK3版本:
dpkg -s libgtk-3-0|grep '^Version'
或只是版本号
dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
答案 3 :(得分:8)
您也可以编译以下程序并在您的计算机上运行它。
#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`
当你运行它时,你会得到一些输出。在我的旧嵌入式设备上,我得到以下内容:
[root@n00E04B3730DF n2]# ./version
2.10.4
[root@n00E04B3730DF n2]#
答案 4 :(得分:4)
尝试,
apt-cache policy libgtk2.0-0 libgtk-3-0
或,
dpkg -l libgtk2.0-0 libgtk-3-0
答案 5 :(得分:3)
你也可以打开synaptic并搜索libgtk,它会准确显示你安装的lib。
答案 6 :(得分:3)
这并不困难。
只需从终端检查您的gtk +工具箱实用程序版本:
#Import packeges
import pandas as pd
# Read the dataset
df = pd.read_csv("Sales dataset - Vijay.csv", engine='python', parse_dates['founded_at','first_funding_at','last_funding_at'])
list1 = ["founded_at", "first_funding_at","last_funding_at"]
for feat in list1:
#print (feat)
df['Year'] = df[feat].dt.year
df['Week'] = df[feat].dt.week
df['Day'] = df[feat].dt.day
df['quarter'] = df['feat'].dt.quarter
df['week_of_day'] = df['feat'].dt.dayofweek
df['year_of_week'] = df['feat'].dt.weekofyear
df['dayofweek_name'] = df['feat'].dt.day_name()
df['weekend'] = np.where(df['feat'].isin(['Sunday','Saturday']),1,0)
答案 7 :(得分:2)
尝试:
JNIEXPORT void JNICALL Java_EmojiTest_nativeTest(JNIEnv *env, jclass cls, jstring _s)
{
const jclass stringClass = env->GetObjectClass(_s);
const jmethodID getBytes = env->GetMethodID(stringClass, "getBytes", "(Ljava/lang/String;)[B");
const jstring charsetName = env->NewStringUTF("UTF-8");
const jbyteArray stringJbytes = (jbyteArray) env->CallObjectMethod(_s, getBytes, charsetName);
env->DeleteLocalRef(charsetName);
const jsize length = env->GetArrayLength(stringJbytes);
const jbyte* pBytes = env->GetByteArrayElements(stringJbytes, NULL);
for (int i = 0; i < length; ++i)
fprintf(stderr, "%d: %02x\n", i, pBytes[i]);
env->ReleaseByteArrayElements(stringJbytes, pBytes, JNI_ABORT);
env->DeleteLocalRef(stringJbytes);
}
答案 8 :(得分:1)
我认为与分发无关的方式是:
gtk-config --version
答案 9 :(得分:1)
这将获得GTK + 2和GTK + 3的GTK +库版本。
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
答案 10 :(得分: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 +版本2.10。这与Redhat上的rpm命令非常一致:rpm -qa | grep gtk2
,所以我认为我的结论是正确的。
答案 11 :(得分:0)
由于apt-cache policy
会列出所有可用的匹配项,即使未安装,我也建议使用此命令来为您的系统上安装的与GTK相关的软件包的更易于管理的清单:
apt list --installed libgtk*