Dela via


Resurskompilatorfel RC2101

Ogiltigt direktiv i förbearbetad RC-fil

Anmärkningar

Resurskompileringsfilen innehåller ett #pragma-direktiv .

Använd #ifndef förprocessordirektivet med den RC_INVOKED konstant som resurskompilatorn definierar när den bearbetar en inkluderingsfil. Placera #pragma-direktivet i ett kodblock som inte bearbetas när den RC_INVOKED konstanten definieras. Kod i blocket bearbetas endast av C/C++-kompilatorn och inte av resurskompilatorn. Följande exempelkod visar den här tekniken:

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

Det #pragma förprocessordirektivet har ingen betydelse i en . RC-fil. Det #include förprocessordirektivet används ofta i en . RC-fil som ska innehålla en rubrikfil (antingen en projektbaserad anpassad rubrikfil eller en standardhuvudfil som tillhandahålls av Microsoft med en av dess produkter). Några av dessa inkluderar filer som innehåller #pragma-direktivet . Eftersom en rubrikfil kan innehålla en eller flera andra huvudfiler kanske filen som innehåller det felaktiga #pragma direktivet inte är omedelbart uppenbar.

Metoden #ifndef RC_INVOKED kan styra inkluderingen av headerfiler i projektbaserade headerfiler.