eMbedded Visual Tools 3.0 入門
窓の杜 & WindowsCE FAN 共同企画


【第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    作成

古原伸介

トップページへ
eMbedded Visual Tools 3.0 入門 INDEX


Copyright (c) 2001 impress corporation All rights reserved.
編集部への連絡は mado-no-mori-info@impress.co.jp まで