clibgen.generateLibraryDefinition

Создайте файл определения для библиотеки C++

Синтаксис

clibgen.generateLibraryDefinition(HeaderFiles)
clibgen.generateLibraryDefinition(HeaderFiles,Name,Value)

Описание

пример

clibgen.generateLibraryDefinition(HeaderFiles) создает файл определения MATLAB® Live Кода, используемый, чтобы сгенерировать интерфейс MATLAB к библиотеке C++, заданной HeaderFiles.

Именем файла определения является definelibName.mlx. Для получения дополнительной информации об использовании этого файла смотрите, Задают Интерфейс MATLAB к Библиотеке C++.

Используйте метод clibgen.LibraryDefinition.build, чтобы создать интерфейс.

clibgen.generateLibraryDefinition(HeaderFiles,Name,Value) создает файл с помощью одного или нескольких аргументов пары "имя-значение".

Примеры

свернуть все

Скопируйте заголовочный файл school.hpp в перезаписываемую папку.

copyfile(fullfile(matlabroot,'extern','examples','cpp_interface','school.hpp'),'.','f')

Сгенерируйте файл определения библиотеки defineschool.mlx.

clibgen.generateLibraryDefinition('school.hpp')
Warning: Only header files specified; assuming this is a header-only
library. If library files also need to be specified, use the 'Libraries' option. 

Using MinGW64 Compiler (C++) compiler.
Generated definition file defineschool.mlx and data file 'schoolData.xml' contain definitions for 
21 constructs supported by MATLAB.
1 constructs require additional definition. To include these constructs in the interface, 
edit the definitions in defineschool.mlx.
Build using build(defineschool).

Входные параметры

свернуть все

Один или несколько заголовочных файлов, заданных как массив строк, вектор символов или массив ячеек из символьных векторов. Поддерживаемыми расширениями файла является .h, .hpp и .hxx. Заголовочный файл без расширения также поддержан.

Пример: 'sample.hpp'

Типы данных: char | string | cell

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: clibgen.generateLibraryDefinition({'hfile1.hpp','hfile2.hpp'},'Libraries','mylib.lib','IncludePath','C:\mylib\include','PackageName','mypackage','OutputFolder','C:\work');

Имя полного пути к библиотеке, заданной как массив строк, вектор символов или массив ячеек из символьных векторов. Например,

clibgen.generateLibraryDefinition('sample.hpp','Libraries','C:\myLib\myLib.lib')
создает definesample.mlx с помощью myLib.lib в C:\myLib\ и написал его в текущей рабочей папке.

Типы данных: char | string | cell

Имя полного пути к папкам включенных заголовочных файлов, заданных как массив строк, вектор символов или массив ячеек из символьных векторов.

Типы данных: char | string | cell

Имя папки раньше генерировало файл определения, заданный как скаляр строки или вектор символов. Например,

clibgen.generateLibraryDefinition('myHeader.hpp','OutputFolder','C:\work')
создает definemyHeader.mlx в C:\work.

Типы данных: char | string | cell

Имя сгенерированного интерфейсного пакета, заданного как скаляр строки или вектор символов. Для интерфейсов, созданных из одного заголовочного файла, значение по умолчанию является именем заголовка. Для нескольких заголовочных файлов задайте имя пакета как допустимое имя MATLAB. Например,

clibgen.generateLibraryDefinition({'h1.hpp','h2.hpp'},'PackageName','myPackage')
создает definemyPackage.mlx в подпапке myPackage в текущей рабочей папке.

Типы данных: char | string | cell

Опция, чтобы отобразить сообщения генерации, заданные как true или false. Если Verbose верен, то сообщения генерации отображений MATLAB к командному окну при создании файла определения. Например,

clibgen.generateLibraryDefinition('h1.hpp','Verbose',true)
создает defineh1.mlx и отображает сообщения к командному окну.

Для получения дополнительной информации см. сообщения Поиска и устранения проблем.

Типы данных: логический

Ограничения

  • Избегайте символов non-ASCII в папке и именах файлов, когда некоторые настройки локали не могут поддержать те символы.

Советы

  • Чтобы воссоздать файл определения библиотеки, сначала удалите файл definelibName.mlx, затем вызовите clibgen.generateLibraryDefinition.

Введенный в R2019a