はじめに
Visual C++(以下、VC++)で使えるクロスプラットフォームの開発キットの一つに、wxWidgets(ダブリューエックスウィジェッツ)があります。wxWidgetsは相応の歴史と実績がある魅力的なツールです。しかしながら、日本語のリソースが意外に少ないため、最初の導入に苦労される方も多いのではないでしょうか。
本記事では、導入する際につまづきやすいポイントを確認しながら、wxWidgetsに同梱されている「samples」や「demos」フォルダのコードをビルドするまでを解説します。
対象読者
Visual C++ 2005(以下、VC++2005)とMicrosoft Platform SDK(以下、PSDK)が既に準備済みで、VC++の簡単なテストコードをビルドできる方。zipファイルの展開方法、拡張子の表示方法、触っていいフォルダといけないフォルダの区別など、プログラミングの際の基本知識も前提とします。
必要な環境
筆者はWindows XP Home Edition SP2環境で動作検証をしています。開発環境にはVC++2005とPSDKを用います。執筆時の最新版PSDKはfor Windows Server 2003 R2です。
wxWidgetsの入手
まずは、wxWidgetsを入手しましょう。wxWidgetsのバージョンの選択には、以下のとおり考慮すべき点がいくつかあります。
安定版か、開発版か
執筆時現在、安定版として2.6.3、開発版として2.7.1が公開されています。このような場合、安定版を入手するのが基本です。
ところが、2.6.3に同梱されているVC++用プロジェクトファイルには少し問題があり、サンプルやデモのビルドごとに、ライブラリが強制リビルドされるようになっています。これでは当然ながら明らかに時間の無駄です。
したがって本記事では2.7.1を扱います。なお、今回は解説しませんが、コマンドラインベースで使うのならば2.6.3でも問題はありません。
自己解凍ファイルか、zipを手動で展開するか
今回入手する2.7.1のwxMSWは、開発版でzip版しか用意されていないため迷いませんが、安定版を使用する際には自己解凍ファイル(exe)版とzip版のどちらを用いるか考慮すべきです。
安定版では「wxMSW-2.6.3-Setup-1.exe」などのSetupモジュールが用意されています。しかし、実はライブラリのビルド作業に手作業が入るため、exe版を使ってもzip版を使ってもあまり手間は変わりません。ほかにもtar.bz2版やtar.gz版もありますが、VC++用プロジェクトファイルが正常に動作しないことがあるようなので避けた方が無難と思われます。
ライブラリのヘルプ
ビルドには直接影響しませんが、開発版にはコードを書くときに必要となるヘルプファイルが同梱されていません。wxWidgets本体とは別に入手することになります。wxwidgets.orgにある英語版のほか、日本語訳はwxWidgets日本語ドキュメントプロジェクトにて一部を参照することができます。
wxALLかwxMSWか
記事執筆時現在、wxALLに含まれている.dswファイル(後述)は前述のtar.bz2版/tar.gz版と同じ理由で動作しません。この時点でwxMSWを選択するしかない、ということになってしまいます。
本質的な意味での相違点
上記の問題が解消された場合の話になりますが、参考までに。
wxMSWは基本的に、Windowsでビルドするためのソースコードしか入っていません。対してwxALLは、その名の通りすべてのプラットフォーム分のコードが含まれてます。wxMSWの方を入手しておけば、ダウンロード・展開サイズとも小さく押さえることができます。
クロスプラットフォーム開発だからといって、wxALLを選択する必要はありません。たとえば、ソースコード配布にwxWidgetsそのものを含むのはナンセンスです(ご自身でwxWidgets本体を修正するのでない限り)。少なくとも初級のうちは、自分の書いたコードの量がwxWidgets本体を上回ることはないと考えられるからです。
具体的な入手方法
さて結論ですが、本稿では「wxMSW-2.7.1.zip」をダウンロードします。参考までに、現時点での入手経路を示しておきます(2006/10/14現在)。
まず、wxWidgetsのホームページから[Downloads]ページへ移動します。
次にダウンロードページを下へ進み、[wxWidgets 2.7.1 Downloads]-[Source Archives]内にあるリンク[wxMSW]をクリックします。「wxMSW-2.7.1.zip」ファイルのダウンロード元サーバーの選択画面(SourceForge)が表示されるので、任意のサーバーからファイルを入手します。なお、上部のリンクからは前述した英文のヘルプファイルを入手できます。
SourceForgeから入手する際のポイントは次のとおりです。
- どのバージョンをダウンロードするかを選ぶ
- どこからダウンロードするかを選ぶ(今回の例)
- 自動ダウンロードを待つ
- ミラーサイトを選択する