FLTKは,高速,軽量なツールキット.クロスプラットフォームで,Macでは,AquaなGUIアプリケーションが作れる.Carbonを使っていて,ウィジェットは独自のものなので,X11でないという程度で見た目はよくない.MacPortsからインストールできる.

ヘッダ二つ,本体3行でウィンドウが出る.

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
int main()
{
Fl_Window window(300,180);
window.show();
return(Fl::run());
}

fltk-config --cxxflagsfltk-config --ldflagsでフラグを調べて,Makefileに書いておくと楽.

$ fltk-config –cxxflags
-I/opt/local/include -O2 -D_THREAD_SAFE -D_REENTRANT
$ fltk-config –ldflags
-L/opt/local/lib -lfltk -lpthread -framework Carbon -framework ApplicationServices
$ cat Makefile
CXX=c++
CXXFLAGS = -I/opt/local/include -O2 -D_THREAD_SAFE -D_REENTRANT
LDFLAGS = -L/opt/local/lib -lfltk -lpthread -framework Carbon -framework ApplicationServices
TARGET = hello

$(TARGET) : $(TARGET).o
$(CXX) $(LDFLAGS) -o $@ $^

clean :
rm -f *.o $(TARGET)

%.o : %.cxx
$(CXX) $(CXXFLAGS) $< -c

Ercoさんのビデオのチュートリアルでは,この簡単な例から始めて,ウィンドウのタイトルやボタンをつけ,最後にはクラスを使ったオブジェクト指向のプログラムにする.自然な流れが見事.

Interface Builderのように,FLUIDというGUIを使ったプログラミングもできる.