Вы видите эту ошибку при создании проекта 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)
.