Ero sivun ”GTK+” versioiden välillä
p (Oman GTK-ohjelman kääntäminen) |
|||
Rivi 18: | Rivi 18: | ||
pkg-config --cflags gtk+-2.0 | pkg-config --cflags gtk+-2.0 | ||
Jos haluan kääntää | Jos haluan kääntää GTK-kirjastoa käyttävän C++-lähdekooditiedoston ohjelma.cpp | ||
g++ ohjelma.cpp `pkg-config --libs gtk+-2.0` `pkg-config --cflags gtk+-2.0` | g++ ohjelma.cpp `pkg-config --libs gtk+-2.0` `pkg-config --cflags gtk+-2.0` | ||
==Graafisia kehitystyökaluja== | ==Graafisia kehitystyökaluja== |
Versio 25. helmikuuta 2014 kello 04.41
GTK+ (GIMP ToolKit) on kirjasto graafisen käyttöliittymän toteuttamiseen.
Sitä käyttäviä ohjelmia voidaan kirjoittaa C:n ja C++:n lisäksi monilla muilla ohjelmointikielillä, ja Unix-tyylisten käyttöjärjestelmien lisäksi useille muille alustoille (mm. Windows ja Maemo). GTK+:n lisenssi on LGPL. GTK+:n kehitys alkoi GIMP-kuvankäsittelyohjelman kehittelyn myötä, koska Qt-kirjaston lisenssi ei siihen aikaan ollut tarpeeksi salliva.
GTK+-pakettiin kuuluu Glib-kirjasto, joka korvaa joitakin standardikutsuja ja toteuttaa hyödyllisiä tietorakenteita, muiden muassa linkitetyn listan. Tiettyjen standardikutsujen korvaaminen uusilla lisää GTK+:n siirrettävyyttä ja jotkut kutsut ovat kokonaan uusia tai epästandardeja Unixeissa, esimerkiksi g_stderror(). Joissain funktioissa on lisätty toiminnallisuutta, esimerkkina g_malloc, joka laajentaa muistinkäsittelyyn liittyvien virheiden etsintämekanismeja. Koska Gtk+ on tehty kokonaan Gdk:n ja Glibin avulla, sen kääntämiseksi muihin ympäristöihin riittää pelkästään näiden kahden sovittaminen uuteen ympäristöön.
GTK+ on olioperustainen sovellusohjelmarajapinta. Vaikka se on kirjoitettu kokonaan C-ohjelmointikielellä, se on toteutettu käyttäen luokkia ja liitosfunktioita (engl. callback) eli osoittimia funktioihin.
Oman GTK-ohjelman kääntäminen
Pkg-configilla voi myös näyttää mitä osia GTK-kirjastoon kuuluu.
pkg-config --libs gtk+-2.0
Gtk+-2.0 version tuloste on tämän näköinen.
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0
Sekä headerit eli otsikkotiedot
pkg-config --cflags gtk+-2.0
Jos haluan kääntää GTK-kirjastoa käyttävän C++-lähdekooditiedoston ohjelma.cpp
g++ ohjelma.cpp `pkg-config --libs gtk+-2.0` `pkg-config --cflags gtk+-2.0`