Сконфигурируйте настройки сборки

Задайте тип сборки

Создайте типы

MATLAB® Coder™ может сгенерировать код для следующих выходных типов:

  • MEX-функция

  • Автономный код C/C++

  • Автономный код C/C++ и компиляция это к статической библиотеке

  • Автономный код C/C++ и компиляция это к динамически подключаемой библиотеке

  • Автономный код C/C++ и компиляция это к исполняемому файлу

    Примечание

    Когда вы генерируете исполняемый файл, необходимо обеспечить файл C/C++, который содержит main функция, как описано в Определении основных Функций для Исполняемых файлов C/C++.

Местоположение сгенерированных файлов

По умолчанию MATLAB Coder генерирует файлы в выходных папках на основе вашего выходного типа. Для получения дополнительной информации смотрите Сгенерированные Файлы и Местоположения.

Примечание

Каждый раз, когда MATLAB Coder генерирует тот же тип выхода для того же кода или проекта, это удаляет файлы из предыдущей сборки. Если вы хотите сохранить файлы от сборки, скопируйте их в другое место прежде, чем запустить другую сборку.

Задайте тип сборки Используя приложение MATLAB Coder

  1. Чтобы открыть диалоговое окно Generate, на странице Generate Code, кликают по стреле Generate.

  2. Установите Build type на одно из следующих.

    • Source Code

    • MEX

    • Static Library

    • Dynamic Library

    • Executable

Если вы выбираете Source Code, MATLAB Coder не вызывает сделать команду или генерирует скомпилированный объектный код. Когда вы выполняете итерации между изменением кода MATLAB и генерацией кода C/C++, и вы хотите смотреть сгенерированный код, эта опция может сэкономить вам время. Эта опция эквивалентна Static Library с выбранным полем Generate code only.

Генерация кода использует различный набор параметров конфигурации для MEX-функций, чем она использует для других типов сборки. Когда вы переключаете выходной тип между MEX Function и Source, Static Library, Dynamic Library, или Executable, проверьте эти настройки.

Определенные параметры конфигурации важны и для MEX и для автономной генерации кода. Если вы включаете какой-либо из этих параметров, когда выходным типом является MEX Function, и вы хотите использовать ту же установку для генерации кода C/C++ также, необходимо включить его снова для C/C++ Static Library, C/C++ Dynamic Library, и C/C++ Executable.

Определение типа сборки в командной строке

Вызвать codegen с -config опция. Например, предположите, что у вас есть первичная функция foo это не берет входных параметров. Следующая таблица показывает, как задать различные выходные типы при компиляции foo. Если первичная функция ввела параметры, необходимо задать эти входные параметры. Для получения дополнительной информации смотрите Specify Properties Входных параметров функции Точки входа.

Примечание

C является языком по умолчанию для генерации кода с MATLAB Coder. Чтобы сгенерировать Код С++, смотрите, Задают Язык для Генерации кода.

Сгенерировать:Используйте эту команду:
MEX-функция с помощью опций генерации кода по умолчанию

codegen foo

Опции генерации кода определения MEX-функции

cfg = coder.config('mex');
% Set configuration parameters, for example,
% enable a code generation report
cfg.GenerateReport=true;
% Call codegen, passing the configuration 
% object
codegen -config cfg foo

Автономный код C/C++ и компиляция это к библиотеке с помощью опций генерации кода по умолчанию
codegen -config:lib foo
Автономный код C/C++ и компиляция это генерации кода определения библиотеки опции

cfg = coder.config('lib');
% Set configuration parameters, for example, 
% enable a code generation report
cfg.GenerateReport=true;
% Call codegen, passing the configuration 
% object
codegen -config cfg foo

Автономный код C/C++ и компиляция это к исполняемому файлу с помощью опций генерации кода по умолчанию и задавая main.c файл в командной строке

codegen -config:exe main.c foo

Примечание

Необходимо задать main функция для генерации исполняемого файла C/C++. Смотрите Задающие основные Функции для Исполняемых файлов C/C++

Автономный код C/C++ и компиляция это исполнимой генерации кода определения опции

cfg = coder.config('exe');
% Set configuration parameters, for example,
%  specify main file
cfg.CustomSource = 'main.c';
cfg.CustomInclude = 'c:\myfiles';
codegen -config cfg foo

Примечание

Необходимо задать main функция для генерации исполняемого файла C/C++. Смотрите Задающие основные Функции для Исполняемых файлов C/C++

Задайте язык для генерации кода

MATLAB Coder может сгенерировать C или библиотеки C++ и исполняемые файлы. C является языком по умолчанию. Можно задать язык явным образом от диалогового окна настроек проекта или в командной строке.

Задайте язык Используя приложение MATLAB Coder

  1. Чтобы открыть диалоговое окно Generate, на странице Generate Code, кликают по стреле Generate.

  2. Установите Language на C или C++.

    Примечание

    Если вы задаете C++, MATLAB Coder переносит C код в .cpp файлы. Можно использовать C++ компилятор и интерфейс с внешним C++ приложения. MATLAB Coder не генерирует C++ классы.

Определение языка Используя интерфейс командной строки

  1. Выберите подходящий компилятор для своего выходного языка.

  2. Создайте объект настройки для генерации кода. Например, для библиотеки:

    cfg = coder.config('lib');

  3. Установите TargetLang свойство к 'C' или 'C++'. Например:

    cfg.TargetLang = 'C++';

    Примечание

    Если вы задаете C++, MATLAB Coder переносит C код в .cpp файлы. Можно затем использовать C++ компилятор и интерфейс с внешним C++ приложения. MATLAB Coder не генерирует C++ классы.

Смотрите также

Задайте имя выходного файла

Задайте имя выходного файла Используя приложение MATLAB Coder

  1. Чтобы открыть диалоговое окно Generate, на странице Generate Code, кликают по стреле Generate.

  2. В поле Output file name введите имя файла.

Примечание

Не помещайте пробелы в имя файла.

По умолчанию, если именем первого файла MATLAB точки входа является fcn1, имя выходного файла:

  • fcn1 для библиотек C/C++ и исполняемых файлов.

  • fcn1_mex для MEX-функций.

По умолчанию MATLAB Coder генерирует файлы в папке project_folder/codegen/target/fcn1:

  • project_folder ваша текущая папка проекта

  • target :

    • mex для MEX-функций

    • lib для статических библиотек C/C++

    • dll для динамических библиотек C/C++

    • exe для исполняемых файлов C/C++

Альтернатива командной строки

Используйте codegen функциональный -o опция.

Задайте местоположения выходного файла

Задайте местоположение выходного файла Используя приложение MATLAB Coder

Местоположение выходного файла не должно содержать:

  • Пробелы (Пробелы могут привести к отказам генерации кода в определенных настройках операционной системы).

  • Вкладки

  • \, $, #, *, ?

  • символы ASCII Non-7-bit, такие как японские символы.

  1. Чтобы открыть диалоговое окно Generate, на странице Generate Code, кликают по стреле Generate.

  2. Установите Build type на Source Code, Static Library, Dynamic Library, или Executable (в зависимости от ваших требований).

  3. Нажмите More Settings.

  4. Кликните по вкладке Paths.

    Настройкой по умолчанию для поля Build folder является A subfolder of the project folder. По умолчанию MATLAB Coder генерирует файлы в папке project_folder/codegen/target/fcn1:

    • fcn1 имя в алфавитном порядке первого файла точки входа.

    • target :

      • mex для MEX-функций

      • lib для статических библиотек C/C++

      • dll для динамически соединенных библиотек C/C++

      • exe для исполняемых файлов C/C++

  5. Чтобы изменить выходное местоположение, вы можете также:

    • Установите Build Folder на A subfolder of the current MATLAB working folder

      MATLAB Coder генерирует файлы в MATLAB_working_folder/codegen/target/fcn1 папка

    • Установите Build Folder на Specified folder. В поле Build folder name обеспечьте путь к папке.

Альтернатива командной строки

Используйте codegen функциональный -d опция.

Методы спецификации параметра

Если вы используетеИспользованиеДетали
Приложение MATLAB CoderДиалоговое окно настроек проекта. Задайте приложение MATLAB Coder параметров конфигурации сборки
codegen в командной строке и хотят задать несколько параметровОбъекты настройкиЗадайте параметры конфигурации сборки в командной строке Используя объекты настройки
codegen в скриптах сборки
codegen в командной строке и хотят задать много параметровДиалоговые окна объекта ConfigurationОпределение параметров конфигурации сборки в командной строке Используя диалоговые окна

Задайте параметры конфигурации сборки

Можно задать параметры конфигурации сборки от диалогового окна настроек проекта MATLAB Coder, командной строки или диалоговых окон объекта настройки.

Задайте приложение MATLAB Coder параметров конфигурации сборки

  1. Чтобы открыть диалоговое окно Generate, на странице Generate Code, кликают по стреле Generate.

  2. Установите Build type на Source Code, Static Library, Dynamic Library, или Executable (в зависимости от ваших требований).

  3. Нажмите More Settings.

    Диалоговое окно настроек проекта обеспечивает набор параметров конфигурации, применимых к выходному типу, который вы выбираете. Генерация кода использует различный набор параметров конфигурации для MEX-функций, чем она использует для других типов сборки. Когда вы переключаете выходной тип между MEX Function и Source Code, Static Library, Dynamic Library, или Executable, проверьте эти настройки.

    Определенные параметры конфигурации важны и для MEX и для автономной генерации кода. Если вы включаете какой-либо из этих параметров, когда выходным типом является MEX Function, и вы хотите использовать ту же установку для генерации кода C/C++ также, необходимо включить его снова для C/C++ Static Library, C/C++ Dynamic Library, и C/C++ Executable.

  4. Измените параметры как требуется. Для получения дополнительной информации о параметрах на вкладке, нажмите Help.

    Изменения в установках параметров сразу происходят.

Задайте параметры конфигурации сборки в командной строке Используя объекты настройки

Типы объектов настройки.  codegen функционируйте настройка использования возражает, чтобы настроить вашу среду для генерации кода. В следующей таблице перечислены доступные объекты настройки.

Объект настройкиОписание

coder.CodeConfig

Если никакая лицензия Embedded Coder® не доступна, или вы отключаете использование лицензии Embedded Coder, задает параметры для библиотеки C/C++ или исполняемой генерации.

coder.EmbeddedCodeConfig

Если лицензия Embedded Coder доступна, задает параметры для библиотеки C/C++ или исполняемой генерации.

coder.HardwareImplementation

Задает параметры реализации целевого компьютера. Если не заданный, codegen генерирует код, который совместим с хостом - компьютером MATLAB.

coder.MexCodeConfig

Задает параметры для генерации кода MEX.

Работа с Объектами Настройки.  Использовать объекты настройки настроить вашу среду для генерации кода:

  1. В рабочем пространстве MATLAB задайте переменные объекта настройки, как описано в Создании Объектов Настройки.

    Например, чтобы сгенерировать настройку возражают для статической генерации библиотеки C:

    cfg = coder.config('lib');
    % Returns a coder.CodeConfig object if no
    % Embedded Coder license available. 
    % Otherwise, returns a coder.EmbeddedCodeConfig object.

  2. Измените параметры объекта настройки как требуется, с помощью одного из этих методов:

  3. Вызовите codegen функция с -config опция. Задайте объект настройки в качестве его аргумента.

    -config опция сообщает codegen сгенерировать код для цели, на основе значений свойств настройки. В следующем примере, codegen генерирует статическую библиотеку C от функции MATLAB, foo, на основе параметров объекта настройки генерации кода, cfg, заданный в первом шаге:

    codegen -config cfg foo

    -config опция задает тип выхода, который вы хотите создать — в этом случае, статическая библиотека C. Для получения дополнительной информации смотрите codegen.

Создание Объектов Настройки.  Можно задать объект настройки в рабочем пространстве MATLAB.

Создать...Используйте команду такой как...
Объект настройки MEX

coder.MexCodeConfig
cfg = coder.config('mex');
Настройка генерации кода возражает для генерации автономной библиотеки C/C++ или исполняемого файла

coder.CodeConfig
% To generate a static library
cfg = coder.config('lib');
% To generate a dynamic library
cfg = coder.config('dll')
% To generate an executable
cfg = coder.config('exe');

Примечание

Если лицензия Embedded Coder доступна, создает coder.EmbeddedCodeConfig объект.

Если вы используете параллельные лицензии, чтобы отключить выезд из лицензии Embedded Coder, используйте одну из следующих команд:

cfg = coder.config('lib', 'ecoder', false)

cfg = coder.config('dll', 'ecoder', false)

cfg = coder.config('exe', 'ecoder', false)

Настройка генерации кода возражает для генерации автономной библиотеки C/C++ или исполняемого файла для целевого процессора

coder.EmbeddedCodeConfig
% To generate a static library
cfg = coder.config('lib');
% To generate a dynamic library
cfg = coder.config('dll')
% To generate an executable
cfg = coder.config('exe');

Примечание

Требует лицензии Embedded Coder; в противном случае создает coder.CodeConfig объект.

Объект настройки аппаратной реализации

coder.HardwareImplementation
hwcfg = coder.HardwareImplementation

Каждый объект настройки идет с набором параметров, инициализированных к значениям по умолчанию. Можно изменить эти настройки, как описано в Изменении Объектов Настройки в Командной строке Используя Запись через точку.

Изменение Объектов Настройки в Командной строке Используя Запись через точку.  Можно использовать запись через точку, чтобы изменить значение одного параметра объекта настройки за один раз. Используйте этот синтаксис:

configuration_object.property = value

Запись через точку использует операторы присваивания, чтобы изменить свойства объектов настройки:

  • Задавать main функция во время генерации кода C/C++:

    cfg = coder.config('exe');
    cfg.CustomInclude = 'c:\myfiles';
    cfg.CustomSource = 'main.c';
    codegen -config cfg foo
    

  • Автоматически сгенерировать и запустить отчеты генерации кода после генерации C/C++ статическая библиотека:

    cfg = coder.config('lib');
    cfg.GenerateReport= true;
    cfg.LaunchReport = true;
    codegen -config cfg  foo

Сохранение Объектов Настройки.  Объекты настройки автоматически не сохраняются между сеансами работы с MATLAB. Используйте один из следующих методов, чтобы сохранить ваши настройки:

 Сохраните объект настройки в MAT-файл и затем загрузите MAT-файл на своем следующем сеансе

 Запишите скрипт, который создает объект настройки и устанавливает его свойства.

Определение параметров конфигурации сборки в командной строке Используя диалоговые окна

  1. Создайте объект настройки как описано в Создании Объектов Настройки.

    Например, чтобы создать coder.MexCodeConfig объект настройки для генерации кода MEX:

    mexcfg = coder.config('mex');

  2. Откройте диалоговое окно свойства с помощью одного из этих методов:

    • В рабочем пространстве MATLAB дважды кликните переменную объекта настройки.

    • В подсказке MATLAB выйдите open команда, передавая его переменная объекта настройки, как в этом примере:

      open mexcfg

  3. В диалоговом окне измените параметры конфигурации как требуется, затем нажмите Apply.

  4. Вызовите codegen функция с -config опция. Задайте объект настройки в качестве его аргумента:

    codegen -config mexcfg foo

    -config опция задает тип выхода, который вы хотите создать. Для получения дополнительной информации смотрите codegen.

Диалоговое окно свойства не поддерживается в MATLAB Online™.