Создайте файл определения для библиотеки C++
clibgen.generateLibraryDefinition(
создает MATLAB® Живой файл определения Кода раньше генерировал интерфейс MATLAB к библиотеке C++, заданной InterfaceGenerationFiles
,'Libraries',LibraryFiles
)InterfaceGenerationFiles
и LibraryFiles
. Для примеров, чтобы вызвать clibgen.generateLibraryDefinition
, см., "Какие файлы вы имеете в своей библиотеке?" в Советах.
Имя файла определения является define
. Для получения дополнительной информации об использовании этого файла смотрите, Задают Интерфейс MATLAB для Библиотеки C++. По умолчанию, libName
.mlxlibName
имя первого файла, заданного в InterfaceGenerationFiles
. Если вы задаете больше чем один интерфейсный файл генерации, то необходимо использовать PackageName
аргумент пары "имя-значение".
Используйте build
метод, чтобы создать интерфейс. Вам нужен поддерживаемый MATLAB компилятор C++. Необходимо создать интерфейсную библиотеку с помощью того же компилятора, который использовался, чтобы создать библиотеку C++. Если ваша библиотека полностью задана исходными файлами (не использует совместно использованный файл библиотеки), то можно выбрать, любой поддержал компилятор C++, чтобы создать интерфейсную библиотеку.
clibgen.generateLibraryDefinition(
создает файл определения к библиотеке, заданной несколькими заголовочными файлами, исходными файлами, и при необходимости совместно использовал файлы библиотеки.InterfaceGenerationFiles
,'Libraries',LibraryFiles
,'SupportingSourceFiles',SupportingSourceFiles
)
clibgen.generateLibraryDefinition(
создает файл определения к библиотеке, полностью заданной InterfaceGenerationFiles
)InterfaceGenerationFiles
.
Если ваша библиотека включает совместно использованный файл библиотеки, то необходимо задать 'Libraries'
аргумент.
clibgen.generateLibraryDefinition(
создает файл с помощью одного или нескольких аргументов пары "имя-значение". Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.InterfaceGenerationFiles
,___,Name,Value
)
Сохранение LibraryDefinition
объект definelibName
в MAT-файл не поддерживается.
Избегайте символов non-ASCII в папке и именах файлов, когда некоторые установки локализации не могут поддержать те символы. Для получения информации о локали смотрите Концепции Установки локализации для Интернационализации.
Чтобы воссоздать файл определения библиотеки, вызвать clibgen.generateLibraryDefinition
с аргументом OverwriteExistingDefinitionFiles
значения имени установите на истину. Когда вы используете эту опцию, MATLAB удаляет файлы, включая редактирования, которые вы можете сделать к файлам.
Для поиска и устранения неисправностей информации смотрите Поиск и устранение проблем Проблемы Определения Библиотеки C++.
Ваша библиотека может содержать комбинации заголовочных файлов, исходных файлов CPP, и совместно использовала файлы библиотеки. Эта таблица показывает, как установить аргументы на clibgen.generateLibraryDefinition
в зависимости от того, какие типы файлов задают вашу библиотеку.
Какие файлы вы имеете в своей библиотеке? | АргументInterfaceGenerationFiles | Аргумент значения имени"Libraries" | Аргумент значения имени"SupportingSourceFiles" |
---|---|---|---|
Один заголовочный файл и файл библиотеки импорта на Windows.
Пример: заголовочный файл и файл библиотеки импорта на Windows |
|
| |
Заголовочный файл и файл общего объекта на Linux.
|
|
| |
Заголовочный файл и динамический совместно использованный файл библиотеки на macOS.
|
|
| |
Полностью заданный заголовочным файлом и
Пример: заголовок и исходные файлы CPP |
|
| |
Несколько заголовочных файлов, исходный файл и совместно использованный файл библиотеки. Создайте интерфейс под названием
|
|
| "A.cpp" |
Библиотека только для заголовка. Библиотека полностью задана в заголовочном файле и не имеет совместно использованного файла библиотеки.
Пример: файл HPP только для заголовка |
| ||
Библиотека полностью задана в
|
| ||
[a] Поскольку у вас есть несколько заголовочных файлов, необходимо установить |