Вы видите эту ошибку при создании проекта Polyspace® или файла опций от системы сборки:
Could not process macro containing a semicolon
Некоторые опции в вашей системе сборки используют точки с запятой в списке замен макроса. Автоматическое создание проекта от систем сборки не поддерживает это использование. Например, макро-OK с этим списком замен может вызвать проблемы:
{printf("OK");flush();}Использование точек с запятой в списках замен не поддержано, потому что проект Polyspace или файл опций, созданный из вашей системы сборки самой, используют разделители точки с запятой, чтобы разделить макроопределения. Для получения дополнительной информации на опциях Polyspace, которые задают макросы, см.:
Preprocessor definitions (-D): Эта опция задает макросы.
-options-for-sources: Эта опция собирает несколько макроопределений, разделенных точкой с запятой.
Задайте макрос в заголовочном файле вместо в системе сборки. Например, задайте макро-OK как это в заголовочном файле:
#ifdef OK_DEFINED
#undef OK_DEFINED
#define OK {printf("OK");flush();}
#endifОбеспечьте заголовочный файл только в целях анализа Polyspace с помощью опции Include (-include).