Errore del compilatore di risorse RC2101

Direttiva non valida nel file RC pre-elaborato

Il file del compilatore di risorse contiene una direttiva #pragma .

Usare la direttiva del preprocessore #ifndef con la costante RC_INVOKED definita dal compilatore di risorse quando elabora un file di inclusione. Inserire la direttiva #pragma all'interno di un blocco di codice non elaborato quando viene definita la costante RC_INVOKED. Il codice nel blocco viene elaborato solo dal compilatore C/C++ e non dal compilatore di risorse. Il codice di esempio seguente illustra questa tecnica:

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

La direttiva del preprocessore #pragma non ha alcun significato in . FILE RC. La direttiva #include preprocessore viene usata di frequente in un oggetto . File RC per includere un file di intestazione (un file di intestazione personalizzato basato su progetto o un file di intestazione standard fornito da Microsoft con uno dei suoi prodotti). Alcuni di questi file includono la direttiva #pragma . Poiché un file di intestazione può includere uno o più file di intestazione, il file contenente la direttiva #pragma che causa l'errore potrebbe non essere immediatamente ovvio.

La tecnica #ifndef RC_INVOKED può controllare l'inclusione dei file di intestazione nei file di intestazione basati su progetto.