[ C++で開発 ]

eMbedded Visual C++ 4.0

MicrosoftがリリースしているWindows CE .NET(4.1/4.2)用アプリケーションを開発するC++環境です。Windows CE用アプリケーションはクロス開発となります。本ツールはWindows 2000/XPのPC上で使用します。

概要

Windows 2000/XP上で使用する、Windows CE .NET用プログラム開発環境です。

言語仕様

eMbedded Visual C++ 4.0は、C++標準仕様に対して以下の違いがあります。

入手

eMbedded Visual C++ 4.0の他、ターゲット(ビルドしたプログラムを実際に実行させるWindowsCEマシン)のOSプロファイル、CPUによって異なるSDK、PC上でWindowsCEプログラムを模擬実行するためのエミュレータなどを入手します。

eMbedded Visual C++ 4.0

eMbedded Visual C++ 4.0は、英語版と日本語版があります。英語版で開発してもプログラム中で日本語を使用ですることができます。日本語版はメニューと一部のヘルプファイルを英語から日本語に翻訳したものです。

eMbedded Visual C++ 4.0日本語版の入手

日本語版はWeb上で公開されています。サイズは約300MB。

ファイル名:JA_eVC4.exe

http://www.microsoft.com/japan/msdn/vstudio/device/eVC_download.asp

2003年7月18日現在、サービスパック1およびサービスパック2が公開されています。

サービスパック1 ファイル名:eVC4SP1J.exe

http://www.microsoft.com/japan/msdn/vstudio/device/eVC4SP1.asp

サービスパック2 ファイル名:eVC4SP2J.exe

http://www.microsoft.com/japan/msdn/vstudio/device/eVC4SP2.asp

Pocket PC 2003 SDK

Pocket PC 2003 SDK日本語版の入手

マイクロソフトからダウンロードします。サイズは約100MB。

ファイル名:"Microsoft POCKET PC 2003 SDK.msi"

http://microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9996B314-0364-4623-9EDE-0B5FBB133652

Pocket PC 2003 エミュレータ

開発用PC(OS:Windows2000/XP)の上で、PDA仮想マシンを実行し、PDA用ソフトウェアを模擬的に実行するための環境です。

Pocket PC 2003 エミュレータ日本語化キットの入手

マイクロソフトからダウンロードします。サイズは47MB。

ファイル名:"Pocket PC 2003 SDK Japanese Emulation Images.msi"

http://microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=57265402-47A8-4CE4-9AA7-5FE85B95DE72

ActiveSync 3.7

eMbedded Visual C++4.0には、ActiveSync3.7が必要とのことです。

ActiveSync 3.7日本語版の入手

マイクロソフトからダウンロードします。

ファイル名:MSASYNC.EXE

http://www.microsoft.com/windowsmobile/resources/downloads/pocketpc/activesync37.mspx

から、Update Availability項の中のJapaneseをクリックします。

インストール

ActiveSync 3.7

eMbedded Visual C++ 4.0/Pocket PC 2003 SDKを使ってアプリケーションを開発するには、ActiveSync 3.7が必要になります。前のバージョンが入っていたら、まずアンインストールしてからActiveSync 3.7をインストールします。

インストーラEXEファイルとなっているので、ダウンロード後実行すればインストールが開始されます。

インストールディレクトリは、デフォルトでは%Program Files%\Microsoft ActiveSyncです。

eMbedded Visual C++ 4.0

eMbedded Visual C++ 4.0日本語版のインストール

自己解凍EXEファイルとなっているので、ダウンロード後適当な作業ディレクトリに解凍・展開します。作業ディレクトリに展開された中にsetup.exeがあるのでこれを実行します。実行に際しては、Administrator権限が必要となります。Windows2000の場合、[Shift]+右クリックでポップアップするメニューに「別のユーザとして実行」があるので、これでAdministratorユーザとして実行しました。Product Numberは、ダウンロードするWebページに書かれています。

コンポーネント種類 内容
eMbedded Visual C++ 4.0 eVC++が入っています。
Standard SDK for Windows CE .NET

Pocket PC 2003 SDKを別途入れるので、とりあえず、eMbedded Visual C++ 4.0だけチェックしてみる。

インストールディレクトリは、デフォルトでは%SystemDirve%:\Windows CE Toolsですが、ルートディレクトリ直下に増やすのは好まないので、Program Filesの下に入れることにしました。

インストールを開始すると、「Microsoft Windows CE Platform Manager」が必要なのでインストールするという内容のメッセージが現れて、Microsoft Windows CE Platform Manager 4.0がインストールされます。

続いてeVC++4.0のインストールが続行されます。インストール時にカスタムオプションで対象CPUの選択ができます。ARM系、MIPS系、SH系、WCE Emulator、X86とあります。ここではARM系だけ対象にするのでARMV4、ARMV4I、ARMV4T、そしてWCE EmulatorとX86にチェックをつけて続行します。

インストールディレクトリは、デフォルトでは%Program Files%\Microsoft eMbedded C++ 4.0です。

eMbedded Visual C++ 4.0 SP2のインストール

自己解凍EXEファイルとなっているので、ダウンロード後適当な作業ディレクトリに解凍・展開します。作業ディレクトリに展開された中にsetup.exeがあるのでこれを実行します。

Pocket PC 2003 SDK

Pocket PC 2003 SDK日本語版のインストール

インストーラファイル(MSI形式)となっているので、ダウンロード後実行すればインストールが開始されます。

セットアップの種類はカスタムと完全がありますが、完全を選びました。

インストールディレクトリは、eMbedded Visual Tools 3.0をインストールしたディレクトリ直下のwce420\POCKET PC 2003ディレクトリとなります。

Pocket PC 2003 エミュレータ

Pocket PC 2003 エミュレータの日本語化

ファイルの展開

インストーラファイル(MSI形式)となっているので、ダウンロード後実行すればインストールが開始されます。

インストールディレクトリは、デフォルトでは%Program Files%\Pocket PC 2003 Emulation\JPNです。インストールしたユーザのみ(Just me)か、すべてのユーザで使える(Everyone)か選択するラジオボタンがあるので、Everyoneを選択します。

Pocket PC 2003 エミュレータからEthernetを使う

MSDNのドキュメントによると、エミュレータ上からエミュレータを実行しているマシン上のEthernetカードを使用できるとあります。なお、その際EthernetカードはWindowsCE機で使用可能な種類である必要があり、EmulatorはDEC21040として認識するようです。使用可能であれば、エミュレータ上でネットワークアダプタの設定を行います(IPアドレスはホストと同じものを入力)。

eVC++3.0からの移行

プロジェクトファイル

基本的にはプロジェクトファイルの互換性はないので、eVC++4.0で新規にプロジェクトを作成することになります。

開発の流れ

  1. PC上でeVC++を使ってビルドする
  2. エミュレータ上で実行・デバッグする
  3. ActiveSyncを通ってプログラムをターゲットにダウンロードする
  4. ターゲット上でプログラムを実行させ、デバッグも行う

ビルド

エミュレータ上で実行・デバッグ

エミュレータ上で実行するためには、ビルドするCPU種類を[WCE x86]にする必要があります。エミュレータといってもCPUまでエミュレートするものではないからです。

ライブラリ

参考