install_win_wxWidgets
WindowsでのwxWidgetsのビルド
ご本家の「http://www.wxwidgets.org/」より、「wxMSW-2.6.2.zip」をダウンロードしてきて解凍します。これを、「VC++ .NET2003」でビルドしてみます(VC++ 6.0でも同じやり方で可能)。この場合、Staticライブラリとしてビルドします。
ライブラリのビルドとインストール
「wxWidgets2.6.2\build\msw\wx.dsw」をVisualStudio(VC++)で開きます。プロジェクト変換のダイアログが出ますが、そのまま「はい」で進めていきます。
ソリューション構成より「Debug」を選択してビルドします。すると、デバッグ用のinclude/libが以下に作成されます。
wxWidgets2.6.2\include ... インクルードファイルの存在するパス wxWidgets2.6.2\lib\vc_lib\mswd ... 設定情報(wx/setup.h)へのパス wxWidgets2.6.2\lib\vc_lib ... ライブラリファイルの存在するパス
同じように、ソリューション構成より「Release」を選択してビルドします。すると、リリース用のinclude/libが以下に作成されます。
wxWidgets2.6.2\include ... インクルードファイルの存在するパス wxWidgets2.6.2\lib\vc_lib\msw ... 設定情報(wx/setup.h)へのパス wxWidgets2.6.2\lib\vc_lib ... ライブラリファイルの存在するパス
「wx/setup.h」の参照がある点に注意してください。その他のincludeファイルは、デバッグ・リリースともに同じです。ライブラリは同じフォルダを参照していますが、リンク時のライブラリは異なります。
インクルード・リンク時の検索パスの指定
デバッグ時
インクルードファイルが参照できるように、
wxWidgets2.6.2\include wxWidgets2.6.2\lib\vc_lib\mswd
への検索パスを加えます。
また、リンクファイルが参照できるように、リンカ部にて
wxWidgets2.6.2\lib\vc_lib
を加えます。
リリース時
インクルードファイルが参照できるように、
wxWidgets2.6.2\include wxWidgets2.6.2\lib\vc_lib\msw
への検索パスを加えます。「msw」である点に注意です。
リンクファイルが参照できるようにするのは、デバッグ時と同じパスです。リンカ部にて
wxWidgets2.6.2\lib\vc_lib
を加えます。
リンクするライブラリ
プロジェクトプロパティの「リンカ」-「入力」-「追加の依存ファイル」でのリンクファイルの指定を行います。
デバッグ版のリンクライブラリ
以下のファイルをリンカの入力に加えます。
wxmsw26d_core.lib wxbase26d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib
「wx...d..lib」がwxWidgetsのデバッグ用ライブラリです。
リリース版のリンクライブラリ
以下のファイルをリンカの入力に加えます。
wxmsw26_core.lib wxbase26.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib
「wx.....lib」がwxWidgetsのリリース用ライブラリです。デバッグ版に比べて「d」が消えているのが分かりますでしょうか。
まだ設定は続きます。
コード生成時のランタイムライブラリ
デバッグ時
プロジェクトプロパティの「C/C++」-「コード生成」-「ランタイムライブラリ」にて、「マルチスレッドデバッグDLL(/MDd)」を選択します。
リリース時
プロジェクトプロパティの「C/C++」-「コード生成」-「ランタイムライブラリ」にて、「マルチスレッドDLL(/MD)」を選択します。
これをきちんと指定しないとビルドエラーになるので注意です。
後は、実際のソースを記載するのみです。これから先は、Windows/Linux/OSXでも同じ内容となります。もっとも簡単なwxWidgetsのソース?を参照してください。
Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.