GTK+ — 1. Вступ

Січень 11th, 2009

GTK+, або The GIMP Toolkit — міжплатформовий комплект інструментальних засобів з набором віджетів для створення графічних інтерфейсів користувача. Разом із Qt та Motif, є одним із найпопулярніших інструментів для X Window System.

GTK+ було розроблено для GNU Image Manipulation Program (GIMP), растрового графічного редактора, у 1997 році Спенсером Кімбалом (Spencer Kimball) та Петером Матісом (Peter Mattis), членами eXperimental Computing Facility (XCF) в UC Berkeley. Розповсюджується на умовах ліцензії LGPL, є вільним програмним забезпеченням і частиною проекту GNU.


GTK+ включає у себе бібліотеки GTK та GDK, окрім того, має залежність від наступних бібліотек:

  • Glib
  • Pango
  • ATK
  • Cairo

    Glib — основна бібліотека, що містить різноманітні типи даних, функції для роботи із рядками, механізм для журналювання, повідомлення про помилки, роботи з потоками та інші корисні речі. Бібліотека Pango забезпечує механізм інтернаціоналізації. ATK є бібілотекою інструментів для задоволення потреб людей з різноманітними фізичними вадами (як то поганий зір). GDK — оболонка над низькорівневими функціями для малювання, котрі надаються системою Х Window. Останнім часом значно частина його функціоналу передається бібліотеці Cairo. GdkPixbuf — бібліотека та набір інструментів для завантаження зображень та їхньою попіксельною маніпуляцією. Cairo — бібліотека для створення векторної 2D графіки.

    Компіляція програм, що використовують GTK+

    Для компіляції програмного забезпечення, яке використовує бібліотеку GTK+, ліпше за все скористатись утилітою pkg-config. Вона повертає метадані з інформацією про встановлені бібліотеки. Простіше кажучи, якщо ми хочемо використовувати конкретну бібліотеку, вона дасть нам необхідні нам бібліотеки та хідери. pkg-config отримує цю інформацію зі спеціальних файлів metadata.

    # gcc -o simple simple.c `pkg-config –libs –cflags gtk+-2.0`

    Ось, як ми можемо зкомпілювати просту програму. Джерельний код програми складається лише з одного файлу, simple.c.

    # pkg-config –cflags gtk+-2.0 \
    -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 \
    -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 \
    -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12

    Цей перелік містить усі необхідні для компіляції файли include.

    # pkg-config –libs gtk+-2.0 \
    -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 \
    -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr \
    -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 \
    -lgmodule-2.0 -ldl -lglib-2.0

    А цей, усі необхідні бібліотеки.

  • Leave a Reply

    Get Adobe Flash playerPlugin by wpburn.com wordpress themes