とりあえずGTK2.0のプログラムを書いてみる
というわけで書いてみた
Main.cpp
#include <gtk/gtk.h> int main(int argc, char** argv){ //GTKを初期化する gtk_set_locale(); gtk_init(&argc, &argv); //ウィンドウの作成 GtkWidget* window; //GTKウィンドウのポインタ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); //ウィンドウサイズの指定 gtk_widget_set_size_request(window, 800, 600); //リサイズの可否設定 gtk_window_set_resizable (GTK_WINDOW (window), FALSE); //ウィンドウを閉じればプログラムも終了するようにする g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); //ラベルを追加してみる GtkWidget* label = gtk_label_new("Hello, GTK!!"); gtk_container_add(GTK_CONTAINER(window), label); //ウィンドウを表示 gtk_widget_show(window); gtk_widget_show(label); gtk_main(); return 0; }
$ g++ `pkg-config --cflags --libs gtk+-2.0` Main.cpp $ ./a.out
`pkg-config --cflags --libs gtk+-2.0` の「``」は当然バッククォートです。
メイクファイルに書くなら以下のような感じかねぇ?
OBJ=mygtk-test ENTRY_SRC=Main.cpp OBJS= CC=gcc CXX=g++ CFLAGS=-O2 -pipe CXXFLAGS=$(CFLAGS) INCLUDES=$(shell pkg-config --cflags gtk+-2.0) LIBS=$(shell pkg-config --libs gtk+-2.0) all: $(OBJ) $(OBJ): $(ENTRY_SRC) $(OBJS) $(CXX) $(CXXFLAGS) $(INCLUDES) $(LIBS) $(ENTRY_SRC) $(OBJS) -o $(OBJ) %.o: %.cpp $(CXX) $(CXXFLAGS) $(INCLUDES) -c $*.cpp -o $*.o .PHONY: clean clean: rm -vf $(OBJ) $(OBJS)
んで./mygtk-testする。