Eclipse による Windows program 開発
- 必要手続きの考察 -
© Copyright Hirofumi Fujii (2007)
初稿:20-Feb-2007
[前へ]
前節で開発プログラムの仕様が固まったので、必要な手続きを考察する。
まず最低限必要な手続きは以下の通りである。
- 新規プロジェクトの生成
- ソースファイル、ヘッダファイルの追加
- 実行ファイルの生成
これらについては、Eclipse/CDT の一般的な使い方であるので、巷にあふれている
情報で間に合う。しかし、Windows アプリケーションの場合は、一般に今回のプログラムと
同様に以下の手続きが必要となる。
- リソースなど、C/C++ 以外の compiler による compile と、それにより生成された object の追加
- 「ファイルを開く」などの共通ダイアログ用ライブラリの追加
C/C++ compiler 以外での compile
リソースファイルは MSYS/MinGW の場合は、windres プログラムを使って compile する。
Microsoft が無償提供している開発システム付属の rc を使うという手もあるが、別の
開発システムの導入という作業を伴うので、ここでは windres に限定する。なお、
windres は言語対応が悪いので、日本語リソースファイルなどでは問題を生じるが、
ここでは論じない。windres で compile することを、どうやって Eclipse/CDT に伝えるかと
いうことを論じる。
筆者が現在使っている方法は、Build の前処理として行うという方法である。
なお、この題目については、ここで示した方法が正解であるかどうかわからない。この方法では
リソースファイルを変更しても、managed make にひっかからない。リソースファイルを
変更した場合は、一旦 clean する必要がある。
Build の前処理として必要なのは、ここでは myres.rc というリソースファイルを windres を
使って compile したいのであるから、
windres myres.rc -o myres.o
である。注意しないといけないのは、windres が実行される時の現在フォルダで、
例えば Release の場合は Release のフォルダが、Debug の場合は Debug のフォルダに
なるという点である。従って、ソースは現在フォルダの一つ上のフォルダにあることになる。
一方 object file は各フォルダに集められるので、現在フォルダでよい。ということで、
windres ../myres.rc -o myres.o
をビルドの前処理として付け加えることにする。具体的手順は、
- main の左ペインでプロジェクト名を選ぶ
- メニューの Project を開き Properties を選択する
- Properties window が開くので、左端ペインで C/C++ Build を選び、Active configuration で
適切な Configuration を選び、Configuration Settings にあるタブで Build Steps を選ぶ。
- すると、Pre-build step と Post-build step を入力できる画面になるので、Pre-build step に
上記コマンドを付け加える。
Library と object の追加
Library の追加は以下の手順で行う。Windows program の場合、graphical output には gdi32 が、
また共通ダイアログには comdlg32 が必要であるのが一般的である。
- main の左ペインでプロジェクト名を選ぶ
- メニューの Project を開き Properties を選択する
- Properties window が開くので、左端ペインで C/C++ Build を選び、Active configuration で
適切な Configuration を選び、Configuration Settings にあるタブで Tool Settings を選び、
その中の GCC C++ Linker にある Libraries を選ぶ。
- すると、Libraries と Library search path が現れるので、Libraries にある + マークの
ついたアイコンをクリックすると library の追加ができる。
- 同様に object の追加は、Miscellaneous を選んで現れる Other objects に対し、
同様の操作を行う
- 変更したら、Apply ボタンを押すのを忘れないこと。また通常は Configuration すべて
(通常は Debug と Release)について行う必要があるのを忘れないこと。
[前へ]