Freigeben über


Ressourcencompiler: Fehler RW2001

Ungültige Direktive in vorverarbeiteter RC-Datei

Die RC-Datei enthält eine #pragma Direktive.

Verwenden Sie die #ifndef Präprozessordirektive mit der RC_INVOKED Konstante, die der Ressourcencompiler definiert, wenn eine Includedatei verarbeitet wird. Platzieren Sie die #pragma Direktive in einem Codeblock, der nicht verarbeitet wird, wenn die RC_INVOKED Konstante definiert ist. Code im Block wird nur vom C/C++-Compiler und nicht vom Ressourcencompiler verarbeitet. Der folgende Beispielcode veranschaulicht diese Technik:

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

Die #pragma Präprozessorrichtlinie hat keine Bedeutung in einer . RC-Datei. Die #include Präprozessordirektive wird häufig in einem . RC-Datei, um eine Headerdatei einzuschließen (entweder eine projektbasierte benutzerdefinierte Headerdatei oder eine Standardheaderdatei, die von Microsoft mit einem seiner Produkte bereitgestellt wird). Einige dieser Dateien enthalten die #pragma Direktive. Da eine Headerdatei eine oder mehrere andere Headerdateien enthalten kann, ist die Datei, die die beleidigende #pragma Direktive enthält, möglicherweise nicht sofort offensichtlich.

Die #ifndef RC_INVOKED Technik kann steuern, wie Kopfzeilendateien in projektbasierte Headerdateien eingeschlossen werden.