Ubuntu에 설치된 GTK + 버전을 확인해야합니다.
남자는 도움이되지 않는 것 같다
답변:
이 제안 은 설치된 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]'
시스템에있는 -dev 패키지를 포함하여 모든 libgtk 패키지를 나열합니다. 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*
에는 dpkg -l libgtk*
작은 따옴표 (묶어야한다 dpkg -l 'libgtk*'
) 쉘 수준에서 와일드 카드 확장을 방지하기 위해.
다음 명령을 사용할 수 있습니다.
$ dpkg -s libgtk2.0-0|grep '^Version'
다음 프로그램을 컴파일하여 컴퓨터에서 실행할 수도 있습니다.
#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]#
--libs gtk+-3.0
대신 컴파일 하면 3.10.8을 얻습니다. 이것은 두 가지 모두에 대한 개발 파일이 있지만 현재 사용하고 있지 않다는 것을 알려주는 것 같습니다.
시험,
apt-cache policy libgtk2.0-0 libgtk-3-0
또는,
dpkg -l libgtk2.0-0 libgtk-3-0
배포에 독립적 인 방법은 다음과 같습니다.
gtk-config --version
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
우분투보다 더 일반적으로 대답하려면 (Redhat이 있습니다) :
gtk는 일반적으로 / usr 아래에 설치되지만 다른 위치에 설치 될 수 있습니다. 이것은 환경 변수에서 볼 수 있어야합니다. 확인
env | grep gtk
그런 다음 gtk 파일이 저장된 위치를 찾으십시오. 예를 들어, use locate
및 grep.
locate gtk | grep /usr/lib
이런 식으로 많은 .so 라이브러리 파일 /usr/lib64/gtk-2.0
이 포함 된 하위 디렉토리가 포함 된을 찾았습니다 2.10.0
. 내 결론은 gtk + 버전 2.10이 있다는 것입니다. 이것은 Redhat :의 rpm 명령과 다소 일치 rpm -qa | grep gtk2
하므로 내 결론이 옳다고 생각합니다.