UbuntuでGTKをインストール


この教学文書を書いている間にUbuntuをやっていたので、Ubuntuの下でGTK開発の基本環境を設定する方法を説明します.GTKは基本的に主にC言語で書かれているので、Cコンパイラが必要です.Ubuntuプリセットがインストールされたらgccがありますが、必要なHeader fileが不足しています.文字モードでbuild-essentialキットをインストールできます.たとえば、次のようにします.
sudo apt-get install build-essential
インストールが完了したら、基本的なC言語プログラムを書くことができます.
  • hello.c
  • #include <stdio.h>
    
    int main(void) {
        printf("Hello! World!
    "); printf(" !C !
    "); return 0; }

    コンパイルして実行してみます.
    $ gcc -o hello hello.c $./hello Hello! World! ハロー!C言語!
    GTK開発キットlibgtk 2をインストールします.0-dev:
    sudo apt-get install libgtk2.0-dev
    インストールが完了したら、pkg-configを使用してGTKに関するコンパイル環境情報を確認できます.
    pkg-config --cflags --libs gtk+-2.0
    pkg-configはGTKに付随するものを読み取る.PCファイルは関連するコンパイル情報を取得します.--cflagsはincludeディレクトリをリストし、--libsは連結された関数ライブラリとその所在ディレクトリをリストします.
    私のパソコンを例に挙げます.
    $ pkg-config --cflags --libs 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-I/usr/include/pixman-1  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0-lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0-lgmodule-2.0 -ldl -lglib-2.0
    次のように、別々に実行できます.
    $ 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-I/usr/include/pixman-1   $ 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 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl-lglib-2.0 
    リンクされたライブラリには、次のものが含まれています(Compiling Hello Worldから翻訳されています):
    GTK(-lgtk):GDKベースのwidget関数ライブラリ.GDK(-lgdk):Xlibパッケージ(Wrapper).
  • gdk-pixbuf(-lgdk_pixbuf):映像処理関数ライブラリ.
  • Pango(-lpango):国際化文字.
  • gobject(-lgobject):GTKをベースとした型態システム.
  • gmodule(-lgmodule):実行期間の拡張をロードします.
  • GLib(-lglib):各種の関数を含み、GTKはGLibに基づいているので、この関数ライブラリが必要です.Xlib(-lX 11):GDKで使用されています.
  • Xext(-lXext):共有メモリpixmaps(shared memory pixmaps)と他のX拡張を含む.
  • math(-lm):様々な目的でGTKで使用される数学関数ライブラリ.
  • GTKはGDK(Gnome Drawing Kit)に基づき、GDKはその名の通り、図面に関する開発ツールボックスであり、GDKはXlib(X函式ライブラリ)をパッケージ化し、点、線、ウィンドウ、色などの設定やキーボード、マウスなどのイベントの支援を行う.GLibは基本的にCの
    パターン、パターン、
    例えば/usr/include/glib-2.0/glib/gtypes.hでは、いくつかの基本資料の型態が定義されている.
    携帯性の向上
    :
    typedef char   gchar;
    typedef short  gshort;
    typedef long   glong;
    typedef int    gint;
    typedef gint   gboolean;
    typedef unsigned char   guchar;
    typedef unsigned short  gushort;
    typedef unsigned long   gulong;
    typedef unsigned int    guint;
    typedef float   gfloat;
    typedef double  gdouble;
    GTKプログラムを書く時、以g_を見ると先頭の型または関数、またはG_冒頭の巨大セットは、GLibが提供します.
    GTKはGDKおよびGLibに基づいていると言われていますが、GTKプログラムを書く際にはGDKおよびGLib関連の手紙や構造もよく見られるので、GTK自体がウィンドウ素子の配置に専念し、GDKおよびGLibと密接に結合しているという説がより確実です.
    次の操作を行います.http://caterpillar.onlyfun.net/Gossip/GTKGossip/GTKUnderUbuntu.html