2014年09月29日

FLTK2.0

コントロールのドッキングができる FLTK Dock (http://fltkdock.sourceforge.net/) を使ってみたくて入手したのですが、どうやら FLTK 2.0 専用のようで、FLTK 1.3 ではコンパイルできません。
そこで FLTK 2.0 を持ってきてビルドしようとしたのですが、ライブラリをビルドする時に苦労したのでメモです。

まず FLTK 2 はサブバージョンのリポジトリから直接もってくる必要があるので、svn をインストールします。自分は Tortoise SVN を使いました。説明文によれば、ユーザー名とパスワードは両方とも "ENTER" と入れればよいそうです。
FLTK のリポジトリをチェックアウトしたら ide/visualc/ にある Visual C++ のファイルを開きます。
いくつかプロジェクトが含まれていますが、そのうちの "fltk" が fltk2 のスタティックライブラリのビルド用で、"fltk_gl" が OpenGL と組み合わせる時に使うライブラリです。これをビルドし、できあがったライブラリをリンクすれば良いのですが、そう素直には行きません。

ここで作ったライブラリを自分のプロジェクトからリンクして使おうとすると、elete_associations_for の実体がないというリンカエラーが発生します。
この実体、実は src/win32/WidgetAssociation.cxx にあるのですが、このソースファイルは元のfltk プロジェクトファイルには含まれておらず、#include “win32/WidgetAssociation.cxx”という感じで run.cxx から直接インクルードされています。
ソースファイルを連結しているだけなので問題ないように見えるのですが、なぜかダメみたいです。
というわけで、win32/WidgetAssociation.cxx を fltk プロジェクトに追加し、再びビルドします。

これでリンカエラーが出ずに、FLTK2 が使えるようになりました。

そして当初の目的であった FLTK Dock を使おうとしたら、なんと古いバージョンの FLTK2 用らしく、いろいろなところでコンパイルエラーが。
一気にモチベーションがさがり、それっきり FLTK を触っていません…。
posted by JUNOSOFT at 05:03| Comment(0) | プログラミング
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。