次の方法で共有


リソース コンパイラ エラー RC2101

前処理される RC ファイル内のディレクティブが無効です

リソース コンパイラ ファイルに、#pragma ディレクティブが含まれています。

#ifndef プリプロセッサ ディレクティブは、RC_INVOKED 定数と共に使用します。リソース コンパイラは、インクルード ファイルを処理するときにこの定数を定義します。 #pragma ディレクティブは、RC_INVOKED 定数が定義されているときは処理されないコード ブロック内に配置します。 ブロック内のコードは、C/C++ コンパイラによってのみ処理されます。リソース コンパイラでは処理されません。 次のサンプル コードでは、この方法を示しています。

#ifndef RC_INVOKED
#pragma pack(2)  // C/C++ only, ignored by Resource Compiler
#endif

#pragma プリプロセッサ ディレクティブは、.RC ファイルでは意味を持ちません。 #Include プリプロセッサ ディレクティブは、ヘッダー ファイル (プロジェクト ベースのカスタム ヘッダーファイル、または Microsoft がいずれかの製品と共に提供する標準ヘッダーファイル) を含めるために .RC ファイル内で頻繁に使用されます。 これらのインクルード ファイルの一部には、#pragma ディレクティブが含まれています。 ヘッダーファイルには、他にも 1 つ以上のヘッダー ファイルを含めることができるため、問題のある #pragma ディレクティブを含むファイルが、すぐには明らかにならないことがあります。

#Ifndef RC_INVOKED 手法では、プロジェクト ベースのヘッダー ファイルへのヘッダー ファイルの挿入を制御できます。