Создайте файл определения для библиотеки C++
clibgen.generateLibraryDefinition(
создает файл определения MATLAB® Live Кода, используемый, чтобы сгенерировать интерфейс MATLAB к библиотеке C++, заданной HeaderFiles
)HeaderFiles
.
Имя файла определения является define
. Для получения дополнительной информации об использовании этого файла смотрите, Задают Интерфейс MATLAB к Библиотеке C++.libName
.mlx
Используйте build
метод, чтобы создать интерфейс.
clibgen.generateLibraryDefinition(
создает файл с помощью одного или нескольких аргументов пары "имя-значение".HeaderFiles
,Name,Value
)
school
Скопируйте 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).
HeaderFiles
Заголовочный файлОдин или несколько заголовочных файлов, заданных как массив строк, вектор символов или массив ячеек из символьных векторов. Поддерживаемыми расширениями файла является .h
, .hpp
, и .hxx
. Заголовочный файл без расширения также поддержан. В случае необходимости имя включает полный или относительный путь в файл.
Если основной заголовочный файл содержит #include
операторы для заголовочных файлов в различных папках, используйте IncludePath
аргумент, чтобы задать эти пути.
MATLAB записывает интерфейсные файлы в подпапке в текущей папке, если OutputFolder
задан. Имя подпапки является именем первого заголовочного файла без расширения файла. Например, следующий оператор создает интерфейсный файл библиотеки в подпапке myHeader
в текущей рабочей папке.
clibgen.generateLibraryDefinition('myHeader.hpp')
Пример: "sample.hpp"
Типы данных: char |
string
| cell
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. 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","DefinedMacros",["mymacro1","mymacro2=0"],"UndefinedMacros","mymacro3");
'Libraries'
— Путь к библиотекеИмя полного пути к библиотеке, заданной как массив строк, вектор символов или массив ячеек из символьных векторов. Например,
clibgen.generateLibraryDefinition("sample.hpp","Libraries","C:\myLib\myLib.lib")
definesample.mlx
использование myLib.lib
в C:\myLib\
и записи это в текущей рабочей папке.
Типы данных: char |
string
| cell
'IncludePath'
— Папки для включенных заголовочных файловПапки для включенных заголовочных файлов, заданных как массив строк, вектор символов или массив ячеек из символьных векторов. IncludePath
имя полного пути к папкам, чтобы включать во время компиляции заголовочных файлов.
Типы данных: char |
string
| cell
'OutputFolder'
folderName Имя папки раньше генерировало файл определения, заданный как скаляр строки или вектор символов. Например,
clibgen.generateLibraryDefinition("myHeader.hpp","OutputFolder","C:\work")
definemyHeader.mlx
в C:\work
.
Типы данных: char |
string
| cell
'PackageName'
— Интерфейсное имя пакетаИмя сгенерированного интерфейсного пакета, заданного как скаляр строки или вектор символов. Для интерфейсов, созданных из одного заголовочного файла, значением по умолчанию является имя заголовка. Для нескольких заголовочных файлов задайте имя пакета как допустимое имя MATLAB. Например,
clibgen.generateLibraryDefinition({"h1.hpp","h2.hpp"},"PackageName","myPackage")
definemyPackage.mlx
в подпапке myPackage
в текущей рабочей папке.
Типы данных: char |
string
| cell
'Verbose'
— Опция, чтобы отобразить сообщения генерацииfalse
(значение по умолчанию) | true
Опция, чтобы отобразить сообщения генерации, заданные как true
или false
. Если Verbose
верно, затем сообщения генерации отображений MATLAB к командному окну при создании файла определения. Например,
clibgen.generateLibraryDefinition("h1.hpp","Verbose",true)
defineh1.mlx
и отображения обмениваются сообщениями к командному окну.
Для получения дополнительной информации см. сообщения О Неподдерживаемых Типах.
Типы данных: логический
'TreatObjectPointerAsScalar'
— Сформируйте для объектного типа указателяfalse
(значение по умолчанию) | true
Сформируйте для объектного типа указателя, заданного как true
или false
. Если TreatObjectPointerAsScalar
верно, затем MATLAB обрабатывает все объектные типы указателей в библиотечных функциях как скаляр. В противном случае форма типа неизвестна.
Типы данных: логический
'TreatConstCharPointerAsCString'
— Форма и MATLAB вводят для const char *
тип указателяfalse
(значение по умолчанию) | true
Форма и MATLAB вводят для const char *
тип указателя, заданный как true
или false
. Если TreatConstCharPointerAsCString
верно, затем MATLAB обрабатывает весь const char *
типы в библиотечных функциях как струны до путем определения Типа MATLAB как string
и сформируйте как nullTerminated
. В противном случае форма типа неизвестна.
Типы данных: логический
'DefinedMacros'
— Список макроопределенийСписок макроопределений, чтобы использовать при парсинге заголовочных файлов, заданных как пустых, скалярная строка или вектор-строка из скалярных строк. Имя содержит символы 1-9, a-z, A-Z и '_' и не может начаться с цифры.
Типы данных: string
'UndefinedMacros'
— Список макро-отменСписок макро-отмен, чтобы использовать при парсинге заголовочных файлов, заданных как пустых, скалярная строка или вектор-строка из скалярных строк. Имя содержит символы 1-9, a-z, A-Z и '_' и не может начаться с цифры.
Типы данных: string
Избегайте символов non-ASCII в папке и именах файлов, когда некоторые настройки локали не могут поддержать те символы.
Чтобы воссоздать файл определения библиотеки, сначала удалите define
файл, затем вызовите libName
.mlxclibgen.generateLibraryDefinition
.
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.