Ressourcencompiler: Fehler RC2101
Ungültige Direktive in vorverarbeiteter RC-Datei
Die Ressourcencompilerdatei 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 projektbasierten Headerdateien eingeschlossen werden.