【第5回】
eMbedded Visual-C++3.0を試す4
既存ソフトとの切り分け
(01/01/20)
はじめに
「eMbedded Visual-C++ 3.0」を使って、既存のソフトをPocketPC用に移植したい場合、以前のバージョン用とどうソースを切り分けるのか、は大きな問題になる。現在の市場ではPocketPCより多くのPalmSize-PC、H/PC2.0、H/PC3.0マシンが存在している。これからH/PC2000のマシンも出てくるだろう。このような場合、どのようにしてソースをうまく切り分けたらよいか、その方法を紹介したい。
PocketPC用を切り分ける
PocketPCにはタップ&ホールドやドキュメントリストなど、PocketPCにしか無い機能も多い。既存ソフトにPocketPC用の機能を加えたとき、他のOSでビルドしようとすると当然エラーになる。かといって他の機種を切り捨てるわけにもいかない。そういうときには条件コンパイルにしてターゲットがPocketPCのときだけそのソースを有効にするようにすればよい。
具体的にはPocketPC用ソースと、それ以外のソースとを以下のようにして切り分ける。
#if defined(_WIN32_WCE_PSPC) && (_WIN32_WCE >= 212)
//PocketPC用のソース
#else
//非PocketPC用のソース
#endif
このようにすれば、各プラットフォームとPocketPC用のソースをコンパイル時に切り分けることができる。
PocketPC用の構成を作る
上のようにせっかくソースレベルで切り分けられるようにしても、プロジェクトレベルでは困ることがある。例えば、ターゲットをMIPS CPUのPocketPCにしてビルドする。すると、PocketPC用のexeファイルができる。今度はターゲットをPalm-Size PCにしてビルドする。すると、PocketPC用のexeファイルに上書きされて Palm-Size PC用のexeファイルができてしまうのである。
これでは困るので、何とかフォルダを変えてexeファイルができるようにしたい。どうしたらよいか。これはやはりPocketPC専用の構成を作るしかないと思う。つまり、「Win32 (WCE MIPS) Release」などを選ぶところに「Win32 (WCE MIPS) PocketPC」という選択肢を出してしまおう、ということである(もし、もっといい方法があったら教えてください)。
やり方は、[ビルド]-[構成]で「追加」ボタンを押す。CPUと「設定のコピー」で元となる構成を選択し、「構成」に「PocketPC」と入力し、OKを押す。すると選択肢が追加される。これでビルドしたexeファイルは MIPSPocketPCフォルダにできることになり、他の構成で作ったEXEファイルと分けることができる。
ただし、この構成を選んだからといって、自動的にターゲットがPocketPCになるわけではないので、ビルドするときには忘れずにターゲットをPocketPCにしなければならない。
さいごに
さらにさまざまなテクニックを見つけてはこのページに追加していきたいと思う。もし、誤り等がありましたら、是非メールもしくは掲示板にご意見等ください。
関連URL
■感想・コメントは、WindowsCE FAN の掲示板 (BBS)
へお願いします。
|
===更新履歴===
2001/01/20 作成
(古原伸介)