Stroustrup先生の Programming Principles and Practice Using C++を読んでいます。
ようやく1/3を越えました。
序文はスラドで読めます。とても良い本です。
http://slashdot.jp/~taro-nishino/journal/498477
chap12では、GUIを使ったプログラミングの重要性についてStroustrup先生が語っています。
・Graphics are useful.
・Graphics are fun.
・Graphics provide lots of interesting code to read.
・Graphics are a fertile source of design examples.
・Graphics provide a good introduction to what is commonly called object-oriented programming and the language features that suport it.
・Some of the key graphics concepts are nontrivial.
プログラミングの入門書で、この視点はとても面白いと思います。この本ではGUIのライブラリとして、fltkを使っています。Ubuntu環境では、fltkパッケージマネージャーから簡単にインストールできますが、p1160のプログラムはそのまま動きません。
動くように修正した、CソースとMakefileです。
Cソース(fl.cpp)
ヘッダーファイルのファイル名.Hが大文字です。
#include <Fl/Fl.H> #include <Fl/Fl_Box.H> #include <Fl/Fl_Window.H> int main() { Fl_Window window(200, 200, "Windows title"); Fl_Box box(0, 0, 200, 200, "Hey, I mean, Hello World!"); window.show(); return Fl::run(); }
Makefileはlibfltkのリンクを忘れないように。
CC = g++ INCDIR = -I. -I/usr/include/ LIBDIR = -L. LIBS = -lfltk CFLAGS = -O2 -Wall TARGET = a.out SRCS = fl.cpp OBJS = $(SRCS:.cpp=.o) all: $(TARGET) $(TARGET): $(OBJS) $(CC) -o $@ $(OBJS) $(LIBDIR) $(LIBS) .cpp.o: $(CC) $(CFLAGS) $(INCDIR) -c $< clean: @rm -f *.o $(TARGET)