★☆=====================================================================☆★ 【wxWindowsでGUIプログラミング】 創刊号:環境設定をしよう 2003.04.20(Sun) ★☆=====================================================================☆★ はじめまして,二条です。 メールマガジン「wxWindowsでGUIプログラミング」を購読していただき,ありがとうございます。 今回の創刊号は,Webで公開しているサンプルとほとんど同じものですので,サンプルをお読みになった方には物足りないかもしれませんが,次回までお待ちくださいませ。 このメールマガジンは1行80文字で整形してあります。変なところで改行が入る方は1行の文字数を増やしてみてください。(1行をもっと短くしてくれ,というご意見がありましたらご連絡ください。) wxWindowsは,C++でGUIを作るためのフレームワークです。実は,「フレームワーク」の正確な意味はよくわからないのですが,wxWindowsとは,WindowsでもUNIX系でも共通のAPIを使ってGUIがつくれるライブラリのことです。 GUIをつくってみたいけど,なんかGUIってわけがわかんないし,OSやコンパイラやライブラリによって違うものを覚えなきゃいけないし……と躊躇している方も,バリバリにGUIを使ってるけどwxWindowsってちょっと面白そうって思った方も,一緒に勉強していきましょう。 ちなみに,私は初心者で,wxWindowsの開発者様とは何の関係もありません。たまに間違ったことを書いてしまうかもしれませんが,何か変だぞ,わけがわからんぞ,と思ったら遠慮なくご連絡ください。連絡先は一番下に書いてあります。 今回は創刊号なので,環境の構築方法を説明します。 私の環境はWindowsXPなので,Windowsが中心になりますが,Linuxなどでも基本は同じです。 今回はWindows+MinGW,Windows+VC++, Linux+gcc での環境設定を説明しますが,ウチの環境での設定方法を知りたい!という方はご連絡ください。(対応できるかどうかは分かりませんが。) wxWindowsの説明に入ると,コンパイルなどを除いたプログラミングそのものは,環境にはほとんど依存しなくなりますのでご安心ください。 ------------------------------------------------------------------------ (1)まず,コンパイラを用意します。 既にVC++などのコンパイラをインストールしてある方は,ここは飛ばしてください。 Linuxの方も,gccなどのコンパイラがあらかじめ入っているはずですので,飛ばしてください。 Windowsでコンパイラを持っていないという方は,MinGW というフリーのコンパイラを導入しましょう。 まず,ネットにつながった環境で http://www.mingw.org/ にアクセスしてください。 英語のサイトだ!と拒絶反応を起こさず,落ち着いて一番左のメニューの下のほうの「Download」をクリックしてください。このページも,上のほうの長い説明はとりあえず置いといて,「Latest Releases:」のところの,「MinGW Version 2.0.0 」をクリックしてください。そうすると,ダウンロードが始まります。 ※この内容は,2003年4月4日現在のものです。MinGWのサイト構成が変わったり,バージョンがあがったりしている可能性もありますので注意してください。 ダウンロードしたファイル(MinGW-*.exe)をダブルクリックすると,MinGWのインストーラが起動しますので,ダイアログに従ってインストールしてください。(ダイアログは英語ですが,特に難しいことはないと思います。) 最後に,環境変数を追加します。 分かる方は,環境変数PATHに「(MinGWをインストールしたディレクトリのフルパス)\bin」を追加してください。 分からない方は以下の手順で設定してください。 WindowsNT/2000/XPの方は,「コントロールパネル」-「システム」の「詳細設定」タブの下方にある「環境変数」ボタンを押して,ユーザー変数またはシステム環境変数の「PATH」を選択し,「編集」を押して,変数値の最後に「;(MinGWをインストールしたディレクトリのフルパス)\bin」と追加してください。 パスの優先順位が決まっている場合には,最後ではなくその順位の場所に追加してください。(意味が分からなければ最後でいいです。)また,そのパソコンを使う他のユーザーもMinGWを使う場合はシステム環境変数,そうでない場合はユーザー環境変数に追加してください。ユーザー環境変数に「PATH」がない場合は新規作成してください。 Windows95/98/98SE/Meの方は,「c:\autoexec.bat」を開いて,その最後に,「SET PATH=%PATH%;(MinGWをインストールしたディレクトリのフルパス)\bin」と書き込んで保存し,再起動してください。 こちらも優先順位が決まっている場合はその場所に追加してください。(意味が分からなければ最後でいいです。) なお,起動時に環境変数を設定するとメモリが減るからいやだというかたは,DOS窓ごとに設定しても構いません。(意味が分からない方は無視してください。) ------------------------------------------------------------------------ (2)MinGWでwxWindowsをコンパイルするのに必要なファイルを導入します ここが必要なのは,(1)でMinGWをインストールした方,および既にインストール済みのコンパイラがMinGWの方だけです。それ以外の方は飛ばしてください。 (1)で説明した「Latest Releases:」の「MinGW Version 2.0.0 」の下に,「MSYS Version 1.0.8 」があるので,これをダウンロードして実行してください。(1.0.8などのバージョン名は変わっているかもしれません。) (1)を飛ばして来て,読むのが面倒だと言う方は, ftp://biolpc22.york.ac.uk/pub/ports/mingw32/extra.zip をダウンロードして,MinGWをインストールしたディレクトリに展開してください。 ------------------------------------------------------------------------ (3)wxWindowsをダウンロードします ここからが,本番です。 まず,wxWindowsのサイト http://www.wxwindows.org/ にアクセスしてください。ここも英語ですが,細かいことは気にせず,左のメニューの「Download」をクリックします。 Windowsの方は,そのページの「stable release」の「Windows」をクリックしてください。ファイルの一覧が出てきますが,必要なファイルは「wxMSW-2.4.0.zip」です。(2.4.0などのバージョン名は変わっているかもしれません。)英語が読める方は,下のほうにあるヘルプファイルもあると便利です。HTML, WinHelp, PDFなどいろいろな形式がありますが,中身は全部同じですので,お好きなものをどうぞ。ここでファイル名をクリックしてもすぐにダウンロードが始まるわけではなく,ミラーサイトの一覧が出てきます。適当なミラーサイトの「Download」をクリックするとダウンロードが始まります。 Linuxの方は,お手持ちの環境のグラフィックライブラリに合わせて「Unix/GTK+」か「Unix/Motif and X11」を選んでください。 ------------------------------------------------------------------------ (4)wxWindowsをインストールします ここだけが読みたかったという方,お待たせいたしました。 まず,ダウンロードしたファイルを適当な場所に展開します。「My Documents」など,ディレクトリ名にスペースが入っている場所は避けたほうが無難です。 wxWindowsのライブラリはソースで提供されているので,コンパイルしないと使うことができません。 Windows + MinGWの方は,まず (Wxを展開したディレクトリ)\src\mingw32.bat というファイルを開いて,エディタで編集します。 まず,真ん中ぐらいにある以下の2行をお手持ちの環境に合わせて書き換えてください。WXWIN はwxWindowsを展開したディレクトリ,MINGWDIR はMinGWをインストールしたディレクトリです。パスの区切りは「\」ではなく「/」を使うこと,「=」の前後にスペースを入れたりしないことに気をつけてください。wxWindowsのバージョンによっては,「WXWIN=」の行がない場合もありますが,追加しておいたほうが無難です。 SET WXWIN=C:/wxWindows-2.4.0 SET MINGWDIR=C:/MinGW それから,一番下の2行 unalias make alias makeming make -f makefile.g95 をコメントアウトします。(コメントアウトは以下のように行頭にremをつけます) rem unalias make rem alias makeming make -f makefile.g95 次に,(Wxを展開したディレクトリ)\src\makeg95.env を編集します。MINGW32 と MINGW32VERSION をお手持ちの環境に合わせて書き換えてください。 ここで,MS-DOSプロンプト(9x系)またはコマンドプロンプト(NT系)をたちあげて,(Wxを展開したディレクトリ)\src ディレクトリに移動して,以下のコマンドを打ってください。 > mingw32 これで環境変数が設定されます。(9x系でメモリが足りませんとエラーが出た場合は,プロンプトのプロパティで環境変数のメモリを「自動」ではなく大きめの値に設定してください。) 次に, > cd msw で,(Wxを展開したディレクトリ)\src\msw ディレクトリに移動し, > make -f makefile.g95 cleanall > make -f makefile.g95 WXMAKINGDLL=1 とすると,wxWindowsのDLL(デバッグ版)がコンパイル・リンクされます。 「WXMAKINGDLL=1」オプションを外せばスタティックライブラリ,「FINAL=1」オプションをつければリリース版が作成されます。(DLLとスタティックライブラリ,デバッグ版とリリース版の違いは次回以降に説明します。) VC++の方は,(Wxを展開したディレクトリ)\src\wxWindows.dsp をダブルクリックしてVC++を起動し,リリース版/デバッグ版,ANSI版/UNICODE版,スタティックライブラリ/DLLの中で好みの物を選んでビルドするだけです。 Linuxの方は,普通のソフトのソースインストールと同様,(Wxを展開したディレクトリ)に移動して, > ./configure > make > su # make install # ldconfig (cshの場合) でコンパイル,インストールできると思いますが, ------------------------------------------------------------------------ (5)サンプルをコンパイルします Windows + MinGWの方は, MS-DOSプロンプト(9x系)またはコマンドプロンプト(NT系)をたちあげて,(Wxを展開したディレクトリ)\src ディレクトリに移動して,以下のコマンドを打ってください。(wxWindowsをコンパイルするときと全く同じです。) > mingw32 (4)でDLL(デバッグ版)のwxWindowsライブラリをコンパイルした場合は, > cd samples > make -f makefile.g95 cleanall > make -f makefile.g95 WXUSINGDLL=1 で,(Wxを展開したディレクトリ)\src\samples の下にあるディレクトリのサンプルプログラムが全部コンパイル・リンクされます。 samples の下の適当なディレクトリを開いて,そこにできている実行ファイルをダブルクリックしてみてください。ちゃんと起動すれば,wxWindowsの準備は完了です。 特定のサンプルだけをコンパイルする場合は,そのサンプルのディレクトリで > make -f makefile.g95 cleanall > make -f makefile.g95 WXUSINGDLL=1 とします。WXMAKINGDLL,FINALのオプションは,wxWindowsをコンパイルする場合と同じものが使えます。 VC++の方は,(Wxを展開したディレクトリ)\samples\samples.dsw を開いてビルドするだけで,サンプルをコンパイル・リンクできます。 Linuxの方は,(Wxを展開したディレクトリ)/samples に移動して > ./configure > make でOKだと思います。 ------------------------------------------------------------------------ 今回はこれで終わりです。次回から,簡単なプログラムを作ってみましょう。 今回は環境設定を一度に説明しようとしたため長くなってしまいましたが,次回からはもう少し短く,読みやすくする予定です。 編集後記: この部分はサンプルにはありませんでしたが,雑談がほしいというご意見をいただいたため,追加してみました。 最近,○年ぶりに新しいPCを買いました。ケースと部品を買ってきて友人に組み立ててもらったのですが,特に静音化にはこだわらなかったにもかかわらず,旧マシンとくらべるととても静かになりました。これで起ちあげっぱなしでも眠れると喜んではみたものの,未だに常時接続ではないし,寝ている間に作業させるようなことはほとんどないのでした。しかし,超低速回線にもかかわらず,ネットワークの転送速度までが早くなったように感じるのは気のせいでしょうか。今度速度を計ってみないといけないと思う今日このごろです。 次回発行日は2003.4.29(火)の予定です。 ★☆=====================================================================☆★ メールマガジン:wxWindowsでGUIプログラミング 創刊号 2003.04.20 発行人:二条 ご意見・ご感想はこちらへ: ariera@members10.tsukaeru.net 解除・バックナンバーはこちらからどうぞ http://members10.tsukaeru.net/ariera/soft/wx.html マイサイト「気まぐれ歴史散歩」もよろしくお願いします http://members10.tsukaeru.net/walk/ このメールマガジンは「まぐまぐ」を使って配信しています http://www.mag2.com/ ★☆=====================================================================☆★