Поделиться через


Ошибка компилятора ресурсов RC2101

Недопустимая директива в предварительно обработанном RC-файле

Файл компилятора ресурсов содержит директиву #pragma .

Используйте директиву препроцессора #ifndef с константой RC_INVOKED, определяемой компилятором ресурсов при обработке файла включения. Поместите директиву #pragma внутри блока кода, который не обрабатывается при определении константы RC_INVOKED. Код в блоке обрабатывается только компилятором C/C++, а не компилятором ресурсов. В следующем примере кода демонстрируется этот метод:

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

Директива препроцессора #pragma не имеет смысла. RC-файл. Директива препроцессора #include часто используется в . RC-файл для включения файла заголовка (файла пользовательского заголовка на основе проекта или стандартного файла заголовка, предоставленного корпорацией Майкрософт с одним из его продуктов). Некоторые из этих файлов содержат директиву #pragma . Так как файл заголовка может содержать один или несколько других файлов заголовков, файл, содержащий директиву #pragma , может быть не сразу очевидным.

Метод #ifndef RC_INVOKED может управлять, включая файлы заголовков в файлах заголовков на основе проекта.