Partager via


Erreur RW2001 du compilateur de ressources

Directive non valide dans le fichier RC prétraité

Le fichier RC contient une directive #pragma .

Utilisez la directive de préprocesseur #ifndef avec la constante RC_INVOKED que le compilateur de ressources définit lorsqu’il traite un fichier include. Placez la directive #pragma à l’intérieur d’un bloc de code qui n’est pas traité lorsque la constante RC_INVOKED est définie. Le code du bloc est traité uniquement par le compilateur C/C++ et non par le compilateur de ressources. L’exemple de code suivant illustre cette technique :

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

La directive de préprocesseur #pragma n’a aucune signification dans un . Fichier RC. La directive de préprocesseur #include est fréquemment utilisée dans un . Fichier RC pour inclure un fichier d’en-tête (un fichier d’en-tête personnalisé basé sur un projet ou un fichier d’en-tête standard fourni par Microsoft avec l’un de ses produits). Certains de ces fichiers incluent la directive #pragma . Étant donné qu’un fichier d’en-tête peut inclure un ou plusieurs autres fichiers d’en-tête, le fichier qui contient la directive #pragma incriminé peut ne pas être immédiatement évident.

La technique #ifndef RC_INVOKED peut contrôler notamment les fichiers d’en-tête dans les fichiers d’en-tête basés sur le projet.