Компилятор не поддерживается для автоматического создания проекта из команд построения.
Для автоматического создания проекта из системы сборки конфигурация компилятора должна быть доступна для Polyspace ®. Polyspace предоставляет файл конфигурации компилятора только для определенных компиляторов.
Сведения о том, какие компиляторы поддерживаются, см. в разделе Требования к созданию проектов из Build Systems.
Чтобы включить автоматическое создание проекта для неподдерживаемого компилятора, можно написать собственный файл конфигурации компилятора.
Копирование одного из существующих файлов конфигурации из . Выберите конфигурацию, которая наиболее точно соответствует компилятору, используя сопоставление между файлами конфигурации и именами компилятора.polyspaceroot\polyspace\configure\compiler_configuration\
Сохранить файл как . my_compiler.xmlmy_compiler может быть именем, которое поможет идентифицировать файл.
Чтобы изменить файл, сохраните его вне папки установки. После завершения редактирования необходимо скопировать файл обратно в .polyspaceroot\polyspace\configure\compiler_configuration\
Отредактируйте содержимое файла, чтобы представить компилятор. Замените записи между элементами XML соответствующим содержимым.
После сохранения отредактированного XML-файла в создайте проект автоматически с помощью команды build.polyspaceroot\polyspace\configure\compiler_configuration\
Если вы видите ошибки, например ошибки компиляции, обратитесь в службу технической поддержки MathWorks ®. После отслеживания команды build программа компилирует определенные файлы с помощью спецификаций компилятора, обнаруженных в файле конфигурации и команде build. Ошибки компиляции могут указывать на проблемы в файле конфигурации.
Совет
Чтобы быстро узнать, работает ли файл конфигурации компилятора, запустите автоматическую настройку проекта на примере сборки, которая не занимает много времени. После настройки проекта с файлом конфигурации компилятора этот файл можно использовать для более крупных построений.
В следующей таблице перечислены элементы XML в файле конфигурации компилятора с описанием содержимого в элементе.
| Элемент XML | Описание содержимого | Пример содержимого для компилятора GNU ® C |
|---|---|---|
<compiler_names><name> ... </name><compiler_names> |
Имя исполняемого файла компилятора. Этот исполняемый файл преобразует Нельзя указывать двоичный файл компоновщика внутри Если указанное имя присутствует в существующем файле конфигурации компилятора, возникает ошибка. Чтобы избежать ошибки, используйте дополнительный параметр |
|
<include_options><opt> ... </opt></include_options> |
Параметр, используемый компилятором для указания папок. Чтобы указать параметры, в которых аргумент сразу следует за параметром, используйте | -I |
<system_include_options><opt> ... </opt></system_include_options> |
Параметр, используемый компилятором для указания системных заголовков. Чтобы указать параметры, в которых аргумент сразу следует за параметром, используйте | -isystem |
<preinclude_options><opt> ... </opt></preinclude_options> |
Параметр, используемый компилятором для принудительного включения файла в скомпилированный объект. Чтобы указать параметры, в которых аргумент сразу следует за параметром, используйте | -include |
<define_options><opt> ... </opt></define_options> |
Параметр, используемый компилятором для предварительного определения макроса. Чтобы указать параметры, в которых аргумент сразу следует за параметром, используйте | -D |
<undefine_options><opt> ... </opt></undefine_options> |
Параметр, используемый компилятором для отмены предыдущих определений макроса. Чтобы указать параметры, в которых аргумент сразу следует за параметром, используйте | -U |
<semantic_options><opt> ... </opt></semantic_options> |
Параметры, используемые для изменения поведения компилятора. Эти параметры определяют языковые параметры, которым должен соответствовать код. Вы можете использовать
|
|
<compiler> ... </compiler> | Параметр компилятора Polyspace, соответствующий или точно соответствующий компилятору. Содержимое этого элемента непосредственно переводится в компилятор параметров в проекте Polyspace или файле параметров. Полный список доступных компиляторов см. в разделе | gnu4.7 |
<compile_options_list><opt> ... </opt></compile_options_list> | Параметры, используемые для компиляции исходных файлов без связывания. | -c |
<preprocess_options_list><opt> ... </opt></preprocess_options_list> |
Параметры, определяющие способ создания предварительно обработанного файла компилятором. Можно использовать макрос |
Для примера |
<preprocessed_output_file> ... </preprocessed_output_file> |
Имя файла, в котором хранятся предварительно обработанные выходные данные. При адаптации имени предварительно обработанного выходного файла из исходного файла можно использовать следующие макросы:
Например, использовать |
Пример этого элемента см. в существующем файле конфигурации компилятора |
<src_extensions><ext> ... </ext></src_extensions> | Расширения файлов для исходных файлов. |
|
<obj_extensions><ext> ... </ext></obj_extensions> | Расширения файлов объектов. | o |
<precompiled_header_extensions> ... </precompiled_header_extensions> | Расширения файлов для предварительно скомпилированных заголовков (если они доступны). | gch |
<polyspace_extra_options_list> <opt> ... </opt> <opt> ... </opt> </polyspace_extra_options_list> | Дополнительные опции, используемые для последующего анализа. Например, чтобы избежать ошибок компиляции в последующем анализе из-за ключевых слов расширения, отличного от ANSI ®, введите <polyspace_extra_options_list>
<opt>-D MACRO1</opt>
<opt>-D MACRO2=VALUE</opt>
</polyspace_extra_options_list> Дополнительные сведения см. в разделе |
Выберите файл конфигурации в это больше всего напоминает конфигурацию компилятора. Используйте следующую таблицу для сопоставления компиляторов с файлами конфигурации.polyspaceroot\polyspace\configure\compiler_configuration\
| Имя компилятора | Продавец | XML-файл |
|---|---|---|
| ARM ® | ARM Keil | armcc.xml |
armclang.xml | ||
| Visual C++ ® | Microsoft ® | cl.xml |
| Лязг | Неприменимо | clang.xml |
| CodeWarrior ® | NXP | cw_ppc.xml |
cw_s12z.xml | ||
cx6808 | Космический | cx6808.xml |
| Diab | Wind River ® | diab.xml |
| gcc | Неприменимо | gcc.xml |
| Зеленые холмы ® | Программное обеспечение Green Hills | ghs_arm.xml |
ghs_arm64.xml | ||
ghs_i386.xml | ||
ghs_ppc.xml | ||
ghs_rh850.xml | ||
ghs_tricore.xml | ||
| Инструментальные средства IAR для встраиваемых систем | IAR | iar.xml |
iar-arm.xml | ||
iar-avr.xml | ||
iar-msp430.xml | ||
iar-rh850.xml | ||
iar-rl78.xml | ||
| Ренесас ® | Renesas | renesas-rh850.xml |
renesas-rl78.xml | ||
renesas-rx.xml | ||
| ЗАДАЧИ ® | Альтиум ® | tasking.xml |
tasking-166.xml | ||
tasking-850.xml | ||
tasking-arm.xml | ||
| Крошечный C | Неприменимо | tcc.xml |
| TM320 и его производные | Техасская Instruments™ | ti_arm.xml |
ti_c28x.xml | ||
ti_c6000.xml | ||
ti_msp430.xml | ||
xc8 (PIC) | Микрочип | xc8.xml |