2018/03/10(土) [n年前の日記]
#1 [windows] FLTKをVisual Studio 2015でビルド
FLTKなるGUIライブラリがあるらしい。
_Fast Light Toolkit - Fast Light Toolkit (FLTK)
_Download - Fast Light Toolkit (FLTK)
mrubyでGUI表示をする際に使われていたりするようで。
_RyanScottLewis/mruby-fltk: FLTK 1.3.2 GUI binding, built for MRuby 1.0.0.
_Big Sky :: mruby で GUI!もう組み込み用途とは言わせない!mruby-fltk3 書いた。
_mattn/mruby-fltk3
興味が湧いたので、Windows10 x64 + Visual Studio 2015 Community でビルドできるか実験。以下のページを参考にしながら作業してみた。
_How to install and use fltk-1.3.4 in Visual Studio 2017 2.0 [complete guide] - preventing cross-contamination - bumpy road to code
_How to install and use fltk-1.3.4 in Visual Studio 2017 [complete guide] - bumpy road to code
_Fast Light Toolkit - Fast Light Toolkit (FLTK)
_Download - Fast Light Toolkit (FLTK)
mrubyでGUI表示をする際に使われていたりするようで。
_RyanScottLewis/mruby-fltk: FLTK 1.3.2 GUI binding, built for MRuby 1.0.0.
_Big Sky :: mruby で GUI!もう組み込み用途とは言わせない!mruby-fltk3 書いた。
_mattn/mruby-fltk3
興味が湧いたので、Windows10 x64 + Visual Studio 2015 Community でビルドできるか実験。以下のページを参考にしながら作業してみた。
_How to install and use fltk-1.3.4 in Visual Studio 2017 2.0 [complete guide] - preventing cross-contamination - bumpy road to code
_How to install and use fltk-1.3.4 in Visual Studio 2017 [complete guide] - bumpy road to code
◎ ビルドできるか試す。 :
以前は FLTK3 なるバージョンがあったらしいけど。公式サイトでは「FLTK3 は開発停止じゃよ」と書いてあった。ひとまず FLTK 1.3.4-2 をビルドできるか試してみる。
_Download - Fast Light Toolkit (FLTK)
fltk-1.3.4-2-source.tar.gz をDL。解凍。今回は D:\Dev\fltk\ に、fltk-1.3.4-2 フォルダを置いてみた。
fltk-1.3.4-2\ide\VisualC2010\fltk.sln を、VSS2015 で開く。「これは VS2010用だからVS2015用に更新するよ」的ダイアログが表示された。OKをクリック。
右上の「ソリューションエクスプローラー」の中の、demo を右クリックして、スタートアッププロジェクトに設定、を選択。
ビルド → ソリューションのビルド、を選択。ビルドが始まる。
ビルドに成功すると、「ビルド: 79 正常終了」とメッセージ欄に表示される。
上のほうで「ローカルWindowsデバッガー」が表示されてる状態で、F5キーを叩いて実行してみる。
DOS窓が一つと、ウインドウが表示された。ウインドウ上のボタンを押すと、FLTKのウィジェットが色々見られる。Exitボタンを押して一旦終了。どうやらビルドはできたらしい。
上のほうの「Debug」を「Release」に変更。ビルド → ソリューションのリビルド。F5キーで実行。
今度はリリース版としてビルドしたので、DOS窓は無しでウインドウだけ表示された。
_Download - Fast Light Toolkit (FLTK)
fltk-1.3.4-2-source.tar.gz をDL。解凍。今回は D:\Dev\fltk\ に、fltk-1.3.4-2 フォルダを置いてみた。
fltk-1.3.4-2\ide\VisualC2010\fltk.sln を、VSS2015 で開く。「これは VS2010用だからVS2015用に更新するよ」的ダイアログが表示された。OKをクリック。
右上の「ソリューションエクスプローラー」の中の、demo を右クリックして、スタートアッププロジェクトに設定、を選択。
ビルド → ソリューションのビルド、を選択。ビルドが始まる。
ビルドに成功すると、「ビルド: 79 正常終了」とメッセージ欄に表示される。
上のほうで「ローカルWindowsデバッガー」が表示されてる状態で、F5キーを叩いて実行してみる。
DOS窓が一つと、ウインドウが表示された。ウインドウ上のボタンを押すと、FLTKのウィジェットが色々見られる。Exitボタンを押して一旦終了。どうやらビルドはできたらしい。
上のほうの「Debug」を「Release」に変更。ビルド → ソリューションのリビルド。F5キーで実行。
今度はリリース版としてビルドしたので、DOS窓は無しでウインドウだけ表示された。
◎ ライブラリの追加方法。 :
ビルドができることは分かったけど、他のアレコレで、FLTK を使う方法がよく分からない。Visual Studio のインストールフォルダ内に、FL、libフォルダ等をコピーしちゃう手もあるらしいけど…。
とりあえず、Vsiaul Studio 上でプロジェクトを作成して作業する分には、プロパティで追加ライブラリを指定することができるっぽい。
例えば、ファイル → 新規作成 → プロジェクト → テンプレートの中の、Visual C++ → Win32 → Win32コンソールアプリケーション、を選んで、空のプロジェクト、にチェックを入れてプロジェクトを作成。
ソリューションエクスプローラー → ソースファイルを右クリック → 追加 → 新しい項目 → C++ファイル(.cpp) を選んで、fltktest.cpp を作成。以下を記述。
プロジェクト → 一番下の、〜のプロパティを選択。
構成を「Debug」に。リンカー → 入力 → 追加の依存ファイル → 右側の下向き三角ボタンを押して「編集」 → 以下を追加。
構成を「すべての構成」に。VC++ディレクトリ → ライブラリディレクトリ → D:\Dev\fltk\fltk-1.3.4-2\lib を追加。
C/C++ → 全般 → 追加のインクルードディレクトリ → D:\Dev\fltk\fltk-1.3.4-2 を追加。
この状態でビルドすれば、ウインドウとメッセージが表示される。
リリース版でビルドしたい時は、プロジェクト → 〜のプロパティ。構成を「Release」に。リンカー → 入力 → 追加の依存ファイル。以下(Debugと違って、最後に「d」がついてないファイル名)を追加。
リンカー → システム → サブシステム → Windows (/SUBSYSTEM:WINDOWS) に変更。
これで、上のほうの「Debug」を「Release」に変更してF5キーを押せば、ビルドし直してリリース版が動く。
つまり、追加ライブラリの場所を適切に指定できればビルドはできるようになるはず。
だけど。必ずしも Visual Studio を起動してビルドするとは限らないわけで。
以下を参考にして、Visual Studio 2015 のインストールフォルダ内にコピーするしかないのだろうか。
_Installing FLTK with Visual Studio
とりあえず、Vsiaul Studio 上でプロジェクトを作成して作業する分には、プロパティで追加ライブラリを指定することができるっぽい。
例えば、ファイル → 新規作成 → プロジェクト → テンプレートの中の、Visual C++ → Win32 → Win32コンソールアプリケーション、を選んで、空のプロジェクト、にチェックを入れてプロジェクトを作成。
ソリューションエクスプローラー → ソースファイルを右クリック → 追加 → 新しい項目 → C++ファイル(.cpp) を選んで、fltktest.cpp を作成。以下を記述。
#include <FL/Fl.h> #include <FL/Fl_Box.h> #include <FL/Fl_Window.h> int main() { Fl_Window window(200, 200, "Window title"); Fl_Box box(0, 0, 200, 200, "Hey, I mean, Hello, World!"); window.show(); return Fl::run(); }
プロジェクト → 一番下の、〜のプロパティを選択。
構成を「Debug」に。リンカー → 入力 → 追加の依存ファイル → 右側の下向き三角ボタンを押して「編集」 → 以下を追加。
fltkd.lib wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib
構成を「すべての構成」に。VC++ディレクトリ → ライブラリディレクトリ → D:\Dev\fltk\fltk-1.3.4-2\lib を追加。
C/C++ → 全般 → 追加のインクルードディレクトリ → D:\Dev\fltk\fltk-1.3.4-2 を追加。
この状態でビルドすれば、ウインドウとメッセージが表示される。
リリース版でビルドしたい時は、プロジェクト → 〜のプロパティ。構成を「Release」に。リンカー → 入力 → 追加の依存ファイル。以下(Debugと違って、最後に「d」がついてないファイル名)を追加。
fltk.lib wsock32.lib comctl32.lib fltkjpeg.lib fltkimages.lib
リンカー → システム → サブシステム → Windows (/SUBSYSTEM:WINDOWS) に変更。
これで、上のほうの「Debug」を「Release」に変更してF5キーを押せば、ビルドし直してリリース版が動く。
つまり、追加ライブラリの場所を適切に指定できればビルドはできるようになるはず。
だけど。必ずしも Visual Studio を起動してビルドするとは限らないわけで。
以下を参考にして、Visual Studio 2015 のインストールフォルダ内にコピーするしかないのだろうか。
_Installing FLTK with Visual Studio
- D:\Dev\fltk\fltk-1.3.4-2\FL フォルダを、C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include 内にコピー。
- D:\Dev\fltk\fltk-1.3.4-2\lib\*.lib等を、C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib 内にコピー。
- D:\Dev\fltk\fltk-1.3.4-2\fluid\*.exe を、C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin 内にコピー。
◎ FLTK3の入手方法が分からない。 :
さておき、mruby-fltk3 とやらを使ってみたくて FLTK3 を入手しようと思ったのだけど、入手方法が分からない。公式サイトのリンクをクリックすると、ユーザ名とパスワードを要求される…。
一応 MSYS2 上で Subversion をインストールして、
やはり FLTK3 は開発中止になったと捉えるべきなのだろうか。
一応 MSYS2 上で Subversion をインストールして、
svn co http://seriss.com/public/fltk/fltk/branches/branch-3.0/ fltk-3.0と打ってみたけど、こちらもユーザ名やパスワードを要求されるし、何かがDLできたものの、中に必要なファイルが入ってるようには見えない。
やはり FLTK3 は開発中止になったと捉えるべきなのだろうか。
[ ツッコむ ]
以上です。