手軽なHello World
このページでは、Hello Worldのページで使用したコードをより簡単な手順でビルドする方法を紹介します。
前提
FLTKのインストールに従って、FLTK 1.4.3が $HOME/MikanBox 以下にインストールされているものとします。 違う場所にインストールした場合は1)、パスをご自身のものに置き換えてください。
プログラムのソースコード
Hello Worldのページで使用したものと全く同じです。 同じファイルをそのまま使ってもいいし、コピーを作成してもどちらでも良いです。
ビルド
FLTKに同梱されているツールfltk-configには、C++コンパイラのフラグを取得する以外の機能も含まれています。 その一つに、1コマンドでコンパイル・リンクを行い実行可能バイナリを生成を完了させるものがあります。 使い方は至って簡単です。 1ファイルで完結するFLTKを利用するプログラムならば、
fltk-config --compile program.cpp
これだけです。
複数のソースファイルで構成される場合や、FLTK以外のライブラリも使用する場合も対応できます。
fltk-config --compile source1.cpp [source2.cpp source3.cpp ...] [-I追加のインクルードパス その他のコンパイルフラグ ...] [--link 追加のリンカフラグ ...]
今回のHello Worldプログラムは1ファイルだけで、FLTK以外のライブラリを直接必要としていません。 また、FLTKは$HOME/MikanBox以下にインストールされているので、次のようにします。
$ ~/MikanBox/bin/fltk-config --compile hello-fltk.cpp /usr/bin/c++ -I/home/freemikan/MikanBox/include -I/home/freemikan/MikanBox/include/FL/images -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_REENTRANT -o hello-fltk hello-fltk.cpp /home/freemikan/MikanBox/lib/libfltk.a -lm -lX11 -lXext -lpthread -lXinerama -lXfixes -lXcursor -lXft -lXrender -lfontconfig -ldl
すると、C++ソースファイルと同じ名前の実行可能バイナリが生成されます。
$ ls -l 合計 1508 -rwxrwxr-x 1 freemikan freemikan 1536720 6月 6 10:21 hello-fltk -rw-r--r-- 1 freemikan freemikan 542 6月 6 10:20 hello-fltk.cpp
あとは通常通り実行できます。
$ ./hello-fltk
この方法は手早くプログラムを実行したいときに便利です。 例えば、FLTKの学習中にサンプルコードの動作を確認したいときなどに重宝します。
ただし、精密さや柔軟さにおいてはfltk-config --cxxflags
やfltk-config --ldflags
の出力を明示的にGCCに渡す方法よりも劣ります。
両方とも覚えておいたほうが良いでしょう。