Microsoft eMbedded Visual C++ 4.0 SP4 リリース ノート (オンライン版)

1. はじめに

このドキュメントでは Microsoft® eMbedded Visual C++® version 4.0 Service Pack 4 に関する最新の情報を記載しています。

 

1.1. 必要なシステム

Microsoft eMbedded Visual C++ 4.0 SP4 に必要なシステム構成は以下のとおりです。


既知の問題


2. インストール

2.1. eMbedded Visual C++ 4.0 SP4 を Win9x または Windows NT4 にインストールできない

eMbedded Visual C++ 4.0 のセットアップ プログラムは Windows 95/98 または Windows NT Version 4.0 では実行することができません。 Windows 95/98 または Windows NT 4.0 で Setup.exe を実行すると Windows 2000 にインストールすることをうながすエラー メッセージが表示されます。

2.2. eMbedded Visual C++ 4.0 を Windows 2000 にインストールするときにセットアップが失敗する

Windows 2000 に eMbedded Visual C++ 4.0 をインストールする場合、インストールを行う前に最新の Service Pack が Windows 2000 にインストールされている必要があります。 最新の Windows 2000 Service Pack は www.microsoft.com/japan からダウンロードできます。

2.3. SP4 のインストール中に一時的にネットワーク接続が切れる

eVC++ +4.0 SP4 をインストール中に、 ネットワーク接続が一時的に切れる場合があります。ネットワーク接続はすぐに復旧されます。

2.4. Windows XP へのインストールで最後にエラー メッセージが表示される

eVC++ 4.0 SP4 のインストールの最後に 「eMbedded Visual C++ 4.0 のセットアップに失敗しました。 インストール ウィザードを再度実行してください。」 というエラー メッセージが表示されることがあります。この場合は、 使用中のコンピュータが、eVC++ 4.0 が必要とするハードウェアの条件を満たしていることを確認し、実行中のすべてのプログラムを閉じ、 再度インストールを実行してください。

2.5 eVC 4.0 SP4 をアンインストールした後でも、新しく追加された項目が [ツール] メニューに残る

eVC 4.0 SP4 をアンインストールしても、SP4 が追加した [ツール] メニューの新しい項目は引き続き残り、 正常に動作します。これは期待されることであり、eVC 4.0 は正常に動作します。

2.6 eVC 4.0 SP4 より先に PlatMan をアンインストールした場合、eVC 4.0 SP4 のアンインストールが失敗する

[プログラムの追加と削除] (Windows 2000 では [アプリケーションの追加と削除]) を使用して PlatMan (Platform Manager) をアンインストールした場合、その後の SP4 のアンインストールに失敗します。 Platman を単独でアンインストールせず、eVC 4.0 SP4 をアンインストールするようにして正しく一緒に アンインストールされるようにしてください。

2.7 MS Windows CE Platform Manager 4.0 のアンインストール後、VS 2003 から Windows CE エミュレータを開くことができない

Visual Studio .NET 2003 をインストールした後 eVC 4.0 をインストールし、Visual Studio .NET 2003 からエミュレータを起動した後に Microsoft Platform Manager をアンインストールした場合。Visual Studio .NET 2003 からエミュレータを起動する際にエラー メッセージが表示されます。

表示されるエラー メッセージは、「Windows CE 用エミュレータのインストールされたファイルが1つ以上見つかりません。Windows CE 用エミュレータを再インストールしてやり直してください」です。

回避策 :[プログラムの追加と削除](Windows 2000 では [アプリケーションの追加と削除]) を使って、[Emulator Driver for Visual Studio .NET 2003] を削除します。次回エミュレータを起動するときに、Visual CE .NET 2003 によりエミュレータ ドライバが再インストールされます。

2.8 Platform Builder リリース ノート (Platform Builder 5.0 に同梱されている eMbedded Visual C++ 4.0 SP4 向け)

Platform Builder 5.0 向けの最新のリリース ノートが、Disk 1 の "release notes.htm" に収録されています。

2.9 Windows CE 用エミュレータが、エミュレートされたイーサネットスイッチドライバを開くことができない)

このエラー メッセージは、eVC 4.0 SP4 のセットアップで仮想ネットワーク スイッチ ドライバがインストールされなかったことを示します。この現象は、ネットワーク接続のプロパティで既定に設定されているネットワーク接続を調べて確認することが出来ます。この場合、[この接続は次の項目を使用します] ボックスに [Virtual Machine Network Services] が表示されていません。

回避策 : [Virtual Machine Network Services] を手動でインストールします。

1. ネットワーク接続の [プロパティ] ダイアログの [全般] タブから [インストール...] を選択します。

2. [サービス] を選択し、[追加...] をクリックします。

3. [ディスク使用] を選択し、[参照...] ボタンを選択します。

4. 通常は C:\Program Files\Microsoft eMbedded C++ 4.0\ の直下にある Microsoft eMbedded C++ 4.0 インストール ディレクトリをポイントし、\Common\EVC\Bin を参照します。

5. ファイル VMNETSRV.inf を選択し、[OK] をクリックします。

6. [ネットワーク サービスの選択] ダイアログに [Virtual Machine Network Services] が表示されるはずです。

7. [OK] を選択して、インストールを完了します。

2.10 eVC4 SP4 を使った Smartphone 2003 の開発

eVC4 SP4 をインストールした後に、Smartphone 2003 SDK ツールの spdps.exe を実行すると、一部またはすべてのリモート ツールが正常に機能しなくなります。こうした影響を受けるリモート ツールはデスクトップ上で正常に起動し、必要なファイルをデバイスにコピーしますが、デバイス側のコンポーネントに接続することができません。その結果、「<ツール名> クライアントに接続しています。」というダイアログが表示されたまま、ツールが停止してしまいます。

回避策 :この問題を修正するには spdps.exe のアップデート版が必要です。Smartphone 2003 SDK の spdps.exe ツールのアップデートを入手するには、http://msdn.microsoft.com/mobility/prodtechinfo/platforms/windowsmobile/downloads/default.aspx にアクセスしてください。

 

3 統合開発環境 (Integrated Development Environment、IDE)

3.1 eVC 3.0 プロジェクトを eVC 4.0 で開いた場合、CPU を正しく識別しない場合がある

eVC 3.0 プロジェクトを eVC 4.0 環境で開いた場合、正しく認識される CPU は、eVC 3.0 以降、eVC 4.0 でもサポートされているものだけです。Arm、MIPS、MIPSFP、または Thumb をサポートするプロジェクトを移植する場合、新しいプロジェクト ファイルを作成し、 再コンパイルする必要があります。 

3.2 長いパス名になるプロジェクトを開くと、eVC 4.0 が応答しなくなる

半角文字で 260 文字を超えるパス名を使用しているプロジェクトを開こうとすると、 eVC 4.0 が応答しなくなります。
この問題を回避するには、プロジェクトのパスが 260 文字より短くなるようにフォルダの名前などを変更してください。

3.3 Windows CE リモート ツールが Windows CE 4.2 ベースのデバイスに接続するときにエラーが発生する

一部のインストールにおいて、特定の Windows CE リモート ツールが Windows CE 4.2 ベースのデバイスに接続するときにエラーが表示されます。

エラー : 「CELOG が有効になっていないため、リモート カーネル トラッカはこのデバイスに接続できません。」

エラー : 「プロファイル データは収集されませんでした。プロファイルの使用可能なコンポーネントがデバイス上に存在することを確認してください。」

回避策 :これは、SP4 のリリースの時点で既に判明している問題です。この問題の修正方法を示したサポート技術情報が、マイクロソフト サポート サイト http://support.microsoft.com/ に掲載される予定です。

3.4 [WCE500 ツールを使用する] メニュー アイテムが選択できなくなる

[リモート ツールの選択] オプションから [WCE500 ツールを使用する] を選択した場合に、 メニューから選択できなくなります。

回避策 : エクスプローラを起動して、次の 2 つのフォルダのプロパティを開き、以下の操作を行ないます:

    C:\program files\common files\microsoft shared\windows ce tools\platman\bin

    C:\program files\common files\microsoft shared\windows ce tools\platman\bin\wce500

[詳細設定...] ボタンをクリックして [属性の詳細] ダイアログを開きます。
[検索を早くするため、このフォルダにインデックスを付ける] チェック ボックスをオンにします。
[OK] ボタンをクリックしてダイアログを閉じます。

 

4 デバッグ

4.1 デバッガ内での矛盾する動作

DLL コードをデバッグ中に、pegdmain.c のロケーションを入力するプロンプトが表示される場合があります。 この場合は [キャンセル] をクリックします。その後、デバッグ セッションを正常に続行することができます。

4.2 eVC 4.0 デバッガ内で Data ブレークポイントが機能しない

条件付きブレークポイントの設定 (Set Conditional Breakpoint) での式 (C/C++ の変数名またはそのアドレス) は正しく評価され、変数の初期化時においてもブレークポイントは検出されます。 しかしながら、初期化後に続くコード中で、そのアドレスにある値が変化した場合は、 デバッガはそのブレークポイントで実行を停止しません。

4.3 DLL からエクスポートされた関数をエミュレータ環境内でステップ インできない

DLL からエクスポートされた関数のステップ実行を試みた場合、デバッガの ステップ イン (F11) 機能が動作しません。この問題が発生するのは、 実際のデバイスをターゲットにした場合ではなく、Pocket PC または Smartphone の各エミュレータをターゲットにした場合のみです。 

この問題を回避するには、デバッグ対象にしたいコード行にブレークポイントを設定して ください。

4.4 Windows XP SP2 でエミュレータおよびデバイスのデバッグに失敗する

Windows XP SP2 で、エミュレータまたはデバイスの eVC アプリケーションのデバッグを開始した場合、Windows のセキュリティに関する警告が表示されます。

回避策 :デバッグを実行できるようにするには、CEMGR Mobule に対して [ブロックの解除] を選択することをお勧めします。


5 その他の問題

5.1 URL に無効なポートが指定されている場合、MFC HTTP リテール サンプルがアサーション エラーのメッセージを表示する

MFC HTTP サンプルは、21、25、110、119、および 143 などの well-known ポートにアクセスしているときに、アサーションエラーを返します (デバッグ モード時)。リリース モードでは、このサンプルはサーバーに接続することができません。この問題を回避するには、こうした well-known ポートで、サイトへ http 接続を開かないようにします。このエラーが発生するのは、これらのポートで接続を開いたときに InternetConnect () API が NULL を返すためです。この NULL 戻り値は MFC では正常に処理されません。

5.2 リンカ ツール エラー LNK1166: オフセットにコードを調整できません

Texas Instruments は OMAP710 の ES1、ES2 および ES3 シリコン ステッピングにおいて障害を確認しました。 これは TI から提供されている OMAP1510、OMAP310 を含むすべての ARM925 ベースのプロセッサにおいて同様の現象が発生する可能性があります。 この障害により正しくないインストラクションが実行され、オペレーティング システムのクラッシュを引き起こすことがあります。 この問題は、各インストラクション ページ内のアドレス 0xXXXX:XFF4 にあるインストラクションでデータ取得に失敗し、 続くページのインストラクションがインストラクション TLB に送られなくなります。 このエラーが発生するときはデータ取得の失敗、インストラクション取得および TLB ミスが同時に発生します。 eVC 4.0 で提供されているリンカはパディングを行い、 問題が発生しそうな実行コードを特定のアドレスに割り当てないようにして、 問題が発生するのを回避するようにしています。 しかし、いくつかの場合においてリンカが自動的に対処することができず、 その場合、 リンカ ツール エラー ”warning LNK1166: オフセットにコードを調整できません。” を報告します。

この場合に問題を回避するには以下の対応を行います。

  1. /Gy オプションを追加して再コンパイルし、 関数をパッケージ化して再リンクを行います。 それでもまだエラーが発生する場合は
  2. ソース コードを再編集し、生成されるコードがページ サイズを超えるようなその関数を、 ページ サイズ以内に収まる複数のページに生成されるように関数を分割して書き換えます。

リンカによるこの自動回避機能は、リンカ オプションに /ARMPADCODE:NO と追加することにより無効になります。 しかし、自動回避で生成されるコードの実行効率、 および生成サイズへの影響は少なく、 作成するアプリケーションが、この問題が発生するチップセット上で動作する可能性が決してないと断言できる場合以外は、 このオプションを無効にすることをお勧めしません。 ほとんどの場合、このオプションを有効にしておくことをお勧めします。
 

5.3 eVC 4.0 ヘルプのフィードバック リンクが正しく機能しない

ヘルプ ページの「Microsoft にフィードバックを送信する」のリンクが正しく機能しません。フィードバックは http://www.microsoft.com/japan/support/newsgroup/ にお願いします。 .

5.4 「デバイスの準備中にエラーが発生しました。」エラー

物理デバイスをアタッチしないで、Smartphone エミュレータに配置すると「デバイスの準備中にエラーが発生しました。」というエラー メッセージが表示されますが、このエラー メッセージは無視してください。 配置は正しく行われます。デバイスをアタッチするとエラーは表示されなくなります。

5.5 コンテナ内で ATL コントロールに Font プロパティを設定すると、eVC 4.0 が応答しなくなる

コンテナ内で [すべて] タブを使用して ATL コントロールに Font プロパティを設定しようとすると eVC++ 4.0 が応答しなくなります。この問題は Font プロパティ フィールドが空の場合にのみ発生します。 この問題を回避するには、[フォント] タブのプロパティを最初に設定してください。 これにより [すべて] タブの Font プロパティを設定することができるようになります。

5.6 Pocket PC 2003 MFC アプリケーション ウィザードが半角カナをサポートしない

Pocket PC MFC アプリケーション ウィザードを使用して、 新しい MFC アプリケーションを作成する場合に、プロジェクト名に半角カナを使用することはできません。

5.7 プロジェクト名に 2 バイト文字が含まれているとビルドに失敗する

プロジェクト名に 2 バイト文字が含まれていると、ビルドに失敗する可能性があります。 この場合はプロジェクト名を変更して、 2 バイト文字を含まないようにしてください。

5.8 4.1 および 4.2 の各エミュレータを同時に実行することができない

バージョン 4.1 およびバージョン 4.2 のエミュレータを同時に(Side by Side)実行することはできません。

5.9 Windows XP SP2 上での実行

TCP/IP を使ってデバイスの接続またはデバッグを行うと、CEMGR Module に対する [Windows セキュリティの警告] ダイアログが表示されて、この操作の実行に失敗します。接続を有効にするには、[ブロックの解除] ボタンを選択することを推奨します。

5.10 アプリケーションを 8 回実行するとエラー ダイアログが表示される

eVC 4.0 から 1 つのアプリケーションを 8 回実行した後、エラー ダイアログが表示されます。 これは、Platform Manager がデバッガが必要とする通信ストリームを作成できないためです。 Platform Manager の構成方法について、オンライン ヘルプを参照してください。 これはリリース時の既知の問題であり、詳細については、Microsoft サポート技術情報 (Knowledge Base) で情報が公開される予定です。

5.11 物理アドレス拡張 (Physical Address Extensions、PAE) モードで実行している 32 ビットコンピュータ上で Windows CE 4.x エミュレータを起動すると、コンピュータが再起動してしまう

PAE モードは、バージョン 4.0、4.1、および 4.2 のエミュレータではサポートされていません。PAE モードで実行しているコンピュータ上でエミュレータを起動すると、そのコンピュータは再起動します。この問題のため、PAE モードで実行中の Windows XP SP2 コンピュータではエミュレータ ドライバは無効になります。

5.12 COM コンポーネントを Smartphone デバイスに配置する際に、そのコンポーネントの登録に失敗する

COM コンポーネントを Smartphone に配置する際に、そのコンポーネントの登録に失敗し、「\Windows\...dll をデバイスに登録することに失敗しました。」 というエラーが発生します。
このエラーは、以前のバージョンの eVC を使って作成した ATL COM プロジェクトのみで発生します。新たに作成された COM サーバー アプリケーション プロジェクトの場合には、デバイスに対してコンポーネントが正常に登録されます。

回避策 :手動で regsvrce.exe を署名し、デバイスにコピーして、コンポーネントを登録することにより、正常に動作します。

5.13 保存された Pocket PC 2003 エミュレータ イメージに接続するときに Server Busy (サーバー ビジー) エラーがスローされる

保存した Pocket PC 2003 エミュレータ イメージに対して接続することはできません。現時点では、 この問題に対する回避方法はありません。

5.14 Windows CE 5.0 のプロジェクトを作成する際に、「警告 LNK4209: デバッグ情報が壊れています。モジュールを再コンパイルしてください。デバッグ情報を無視してリンクします。」という警告が表示される

Windows CE 5.0 ユニバーサル SDK をインストールした後に、eVC 4.0 SP4 を使って Windows CE アプリケーションを作成した場合に、次の警告が表示されます。

「警告 LNK4209:デバッグ情報が壊れています。モジュールを再コンパイルしてください。デバッグ情報を無視してリンクします。」

これは既知の問題ですが、SP4 のリリースの時点では回避策が用意されていません。

5.15 eVC 4.0 SP4 では SH3 プラットフォームをサポートしていない

VC 4.0 SP 4 は、SH3 プラットフォームをサポートしていません。このプラットフォームを対象とする開発者は、eVC 4.0 SP 3 をご利用ください。

5.16: Windows Mobile 2003 または Windows Mobile 2003 Second Edition のデバイスで "リモート システム情報" または "リモート カーネル トラッカ" を実行中に、「デバイス オブジェクトを初期化できませんでした。」 というエラー メッセージが表示される

回避策 : デバイスを再起動します。(ソフト リセット)

5.17 ヘルプ で Windows CE.NET の API が検索できない

ヘルプの検索機能などで Windows CE.NET の API 情報が検索されません。これは eVC4.0 日本語版がインストールする Standard SDK の問題で、ヘルプファイルが正しく作成されていないためです。 回避方法としてはヘルプファイルを再コンパイルして正しく作成し直します。

正しいヘルプファイルを作成するには以下の操作を行います。

  1. eVC4.0 をインストールしたドライブの \wce\htmlhelp\evc フォルダにある eVC4Help.hhp ファイルを開きます。
  2. "[INFOTYPES]"と書かれた行を削除、または"[MERGE FILES]"と書かれた行の直前に移動します。 これにより今まで [INFOTYPES] セクションに含まれていたファイル エントリが [MERGE FILES] セクションに 含まれるようになります。
  3. 編集した eVC4Help.hhp ファイルを保存し、コマンドラインで "hhc.exe eVC4Help.hhp" とタイプして ヘルプファイルを再コンパイルして作成します。(コマンド入力は編集したファイルが含まれるフォルダで行います。)