2013年2月27日水曜日

[GTK+]MinGW + GDK+ 環境設定

  1. GTK+ - Download for Windows から boundle パッケージををダウンロードする
  2. 展開したファイルを MinGW をインストールしてあるディレクトリに移動する
  3. サンプルプログラムを準備する
    Example: hello.c
    #include <gtk/gtk.h>
    
    static void destroy(GtkWidget *widget, gpointer data)
    {
        gtk_main_quit();
    }
    
    int main(int argc, char **argv)
    {
        GtkWidget *window;
        GtkWidget *label;
    
        gtk_init(&argc, &argv);
    
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        label = gtk_label_new("Hello, world!");
        gtk_container_add(GTK_CONTAINER(window), label);
        gtk_widget_show(label);
        gtk_widget_show(window);
    
        g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);
        gtk_main();
    
        return 0;
    }
    
    Example: Makefile
    CC=gcc
    PKG_CONFIG = c:/usr/MinGW/bin/pkg-config
    CFLAGS = -Wall -DGTK_DISABLE_DEPRECATED `$(PKG_CONFIG) --cflags gtk+-2.0`
    LDFLAGS = `$(PKG_CONFIG) --libs gtk+-2.0`
    TARGET = \
        hello.exe
    
    .SUFFIXES: .exe .c .o
    
    # $@ は生成しようとしているターゲット名
    # $< は依存しているファイル
    .c.o:
        $(CC) $(CFLAGS) -c -o $@ $<
    
    .o.exe:
        $(CC) -o $@ $< $(LDFLAGS)
    
    default: $(TARGET)
    
    pkgconfig:
        $(PKG_CONFIG) --cflags gtk+-2.0
        $(PKG_CONFIG) --libs gtk+-2.0
    
    clean:
        rm -rf *.o *.exe
    
  4. コンパイルする
  5. 作成された hello.exe を実行する

0 件のコメント:

コメントを投稿