1

機能が少ないため、アプリケーションのコードを Windows モバイル用に別の方法でコンパイルしたいと考えています。

そのために、次のようなコードを書きたいと思います。

#ifndef (_windows_mobile_)
//define avaiabilty of features thatare not supported in windows mobile
#endif

使用するマクロは何ですか?

対象プラットフォームは Windows Mobile 6 professional です。

http://sourceforge.net/p/predef/wiki/OperatingSystems/に行きましたが、そこに記載されているマクロ _WIN32_WCE が定義されていません。

4

2 に答える 2

0

これは SmartDevice C++ または C# プロジェクトですか?

_WIN32_WCE はマクロではなく、/D _WIN32_WCE などの C/C++ コンパイラ オプションで確認できる定義です。

独自の #define を使用することもできます。たとえば、C# コードの先頭で、コード ファイルで #ifdef/#else/'endif を使用します。ただし、コンパイル オプションを使用すると、定義がすべてのコード ファイルから見えるようになります。

Win32 (デスクトップ) と WCE に同じコード ファイルを使用する場合は、Visual Studio IDE で問題が発生します。これは、make/cmake や makefile のようにネイティブにサポートされていないためです。起動するには別のコンパイラが必要です。

C# プロジェクトの場合、別のコンパイラはありませんが、参照される別のアセンブリなどがあります。おそらく、クロス コンパイラを使用する別のアプローチを探す必要があります。

C# で #ifdef を使用して同じコード ファイルを共有することもできます。私は既に iTextSharpCF でそれを行っています。

于 2012-10-18T07:03:39.483 に答える
0

Windows CE プラットフォーム SDK から必要なマクロとヘッダーが取り込まれるように、プロジェクトとビルド ターゲットを適切に定義する必要があります。そうしないと、裸の x86 デスクトップ ビルド ターゲットでビルドすると機能しません。

于 2012-10-17T11:41:57.877 に答える