clibgen.buildInterface

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

Описание

пример

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

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

Примеры

свернуть все

Скопируйте school.hpp заголовочный файл к перезаписываемой папке H:\Documents\MATLAB\publisher.

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

Создайте интерфейс.

clibgen.buildInterface('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.

Building interface file 'schoolInterface.dll'.
Interface file 'schoolInterface.dll' built in folder 'H:\Documents\MATLAB\publisher\school'.
To use the library, add the interface file folder to the MATLAB path.
1 constructs need further definition to be included in the interface. 
Use clibgen.generateLibraryDefinition to provide definitions.

Нажмите interface file folder соединитесь, чтобы добавить интерфейс в путь.

Отобразите классы в библиотеке.

clib.school.Tab

Отобразите справку для библиотеки.

help clib.school
Classes contained in clib.school:
Person                         - clib.school.Person    Representation of C++ class Person
Teacher                        - clib.school.Teacher    Representation of C++ class Teacher
Student                        - clib.school.Student    Representation of C++ class Student

Сравните эту функциональность с выходом summary(defineschool) команда в Публикует Интерфейс к Библиотеке C++ Только для заголовка. Этот интерфейс не включает:

Functions
  string clib.school.getName(clib.school.Person)

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

свернуть все

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

Если основной заголовочный файл содержит #include операторы для заголовочных файлов в различных папках, используйте IncludePath аргумент, чтобы задать эти пути.

MATLAB записывает интерфейсные файлы в подпапке в текущей папке, если OutputFolder задан. Имя подпапки является именем первого заголовочного файла без расширения файла. Например, следующий оператор создает интерфейсный файл библиотеки в подпапке myHeader в текущей рабочей папке.

clibgen.buildInterface('myHeader.hpp')

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

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

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

Пример: clibgen.buildInterface('myHeader.hpp','Libraries','myHeader.lib','OutputFolder','C:\work');

Один или несколько путей к библиотеке, заданных как массив строк, вектор символов или массив ячеек из символьных векторов. Каждый Libraries значение является именем полного пути к библиотеке. Например, выполнение этого оператора на Windows® создает sampleInterface.dll использование myLib.lib в C:\myLib\ и записи это к подпапке sample в текущей рабочей папке.

clibgen.buildInterface('sample.hpp','Libraries','C:\myLib\myLib.lib')

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

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

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

Имя папки раньше генерировало интерфейсную библиотеку, заданную как скаляр строки или вектор символов. Например, этот оператор создает myHeaderInterface.dll в C:\work\myHeader на Windows.

clibgen.buildInterface('myHeader.hpp','OutputFolder','C:\work')

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

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

clibgen.buildInterface({'h1.hpp','h2.hpp'},'PackageName','myPackage')

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

Опция, чтобы отобразить сообщения генерации, заданные как true или false. Когда true, clibgen.buildInterface генерация отображений обменивается сообщениями к командному окну при создании интерфейса. Например, этот оператор создает h1Interface файл библиотеки в подпапке h1 и отображения обмениваются сообщениями в командном окне.

clibgen.buildInterface('h1.hpp','Verbose',true)

Для получения дополнительной информации см. сообщения О Неподдерживаемых Типах.

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

Сформируйте для объектного типа указателя, заданного как true или false. Если TreatObjectPointerAsScalar верно, затем MATLAB обрабатывает все объектные типы указателей в библиотечных функциях как скаляр. В противном случае форма типа неизвестна.

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

Форма и MATLAB вводят для const char * тип указателя, заданный как true или false. Если TreatConstCharPointerAsCString верно, затем MATLAB обрабатывает весь const char * типы в библиотечных функциях как струны до путем определения Типа MATLAB как string и сформируйте как nullTerminated. В противном случае форма типа неизвестна.

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

Список макроопределений, чтобы использовать при парсинге заголовочных файлов, заданных как пустых, скалярная строка или вектор-строка из скалярных строк. Имя содержит символы 1-9, a-z, A-Z и '_' и не может начаться с цифры.

Типы данных: string

Список макро-отмен, чтобы использовать при парсинге заголовочных файлов, заданных как пустых, скалярная строка или вектор-строка из скалярных строк. Имя содержит символы 1-9, a-z, A-Z и '_' и не может начаться с цифры.

Типы данных: string

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

Введенный в R2019a