SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

簡単だけどつまづきやすいwxWidgetsの第一歩

Visual C++ 2005 ExpressにおけるwxWidgetsの利用手順

  • このエントリーをはてなブックマークに追加

クロスプラットフォーム開発の有力候補にwxWidgetsがあります。ところが日本語のリソースが意外に少ないため、最初の導入に苦労される方も多いのではないでしょうか。本稿では、導入する際につまづきやすいポイントを確認しながら、wxWidgetsに同梱されている「samples」や「demos」フォルダのコードをビルドするまでを案内します。

  • このエントリーをはてなブックマークに追加

はじめに

 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でも問題はありません。

 ただし、コマンドラインから使う場合で「setup.h」を修正してリビルドするときは、リビルド時に重要なファイルが更新されない問題点があることに注意してください。現時点ではリビルド前に手動で「lib/vc_lib/mswu(d)/wx/setup.h」を削除するしかありません。

自己解凍ファイルか、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のホームページからダウンロードページへ
wxWidgetsのホームページからダウンロードページへ

 次にダウンロードページを下へ進み、[wxWidgets 2.7.1 Downloads]-[Source Archives]内にあるリンク[wxMSW]をクリックします。「wxMSW-2.7.1.zip」ファイルのダウンロード元サーバーの選択画面(SourceForge)が表示されるので、任意のサーバーからファイルを入手します。なお、上部のリンクからは前述した英文のヘルプファイルを入手できます。

ダウンロードページからSourceのwxMSWを選択
ダウンロードページからSourceのwxMSWを選択
SourceForgeからダウンロードする際の注意
 SourceForgeには色々なソフトウェアが置いてあります。初めてSourceForgeからソフトウェアを入手するという方は、ここで手順を覚えてしまいましょう。
SourceForgeから入手する際のポイントは次のとおりです。
  1. どのバージョンをダウンロードするかを選ぶ
  2. wxWidgetsの場合は、上記のとおり専用のページから直接たどり着けます。他のコードの場合はSourceForgeで共通の書式によるバージョン選択(今回の例)から始まることがあります。
  3. どこからダウンロードするかを選ぶ今回の例
  4. 一行ずつ世界の配布元(サーバー)が記されています。ダウンロード開始へのリンクは各行右端の[Download]です。左端のHost列をクリックすると、ダウンロードではなく、その配布元のホームページが開きますので注意してください。
    日本からダウンロードする場合には、「Jaist北陸先端科学技術大学院大学 Ishikawa, Japan」を選ぶと大抵うまくいきます。
    ダウンロードは右端の列
    ダウンロードは右端の列
  5. 自動ダウンロードを待つ
  6. 前のステップで[Download]をクリックすると、通常数秒で保存ダイアログが開きます。もし何も起きない場合は、"Your download should begin shortly. If it does not, try" の後ろのリンクをクリックします。
    手動ダウンロードの位置(自動ダウンロードできない場合に使用)
    手動ダウンロードの位置(自動ダウンロードできない場合に使用)
  7. ミラーサイトを選択する
  8. 手動リンククリックでもダウンロードがうまくいかないようであれば、他の配布元を選ぶことになりますが、ネットワーク的に遠いほど時間が掛かりやすくなります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
wxWidgetsライブラリのビルド

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

鈴見咲君高(すずみざききみたか)

悩めるアマチュアプログラマ。Qwertyローマ字入力でもJISかな入力でも上手に入力できない弩級の不器用さの持ち主で、自分の求める仮名文字入力法を実現するために補助ソフトを作った経歴を持つ。当然この文章もそのソフトを用いて記述。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/553 2010/01/05 11:04

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング