Общая библиотека - это коллекция классов и функций, динамически загружаемых приложением во время выполнения. Интерфейс MATLAB ® с общей библиотекой C++ поддерживает библиотеки, содержащие функциональные возможности, определенные в заголовках C++ и исходных файлах. Необходимо иметь возможность компиляции заголовков в среде разработки C++ и использовать функциональные возможности в приложениях C++.
Чтобы опубликовать интерфейс MATLAB в библиотеке C++, определите конкретную функциональность, которую необходимо включить в интерфейс, и связанные файлы заголовков, содержащие эту функциональность.
Можно использовать пример кода библиотеки в качестве начальной точки для создания .hpp файл заголовка. Пример кода, содержащего соответствующие файлы заголовка в #include заявления. Копировать .cpp в текстовый редактор. Удалить main функция и ее осуществление. Сохраните файл с помощью .hpp расширение файла. Имя этого файла: CppFiles аргумент для clibgen.buildInterface или clibgen.generateLibraryDefinition функции.
MATLAB поддерживает 64-разрядные динамические библиотеки на следующих платформах:
| Платформа | Общая библиотека | Расширение файла |
|---|---|---|
Microsoft ® Windows ® | Файл библиотеки динамических связей | .dll |
Импорт файла библиотеки | .lib | |
Linux ® | Файл общего объекта | .so |
Apple macOS | Файл динамической общей библиотеки | .dylib |
Для построения интерфейса MATLAB для библиотеки C++ необходим установленный, поддерживаемый MATLAB компилятор C++. Обновленный список поддерживаемых компиляторов см. в разделе Поддерживаемые и совместимые компиляторы.
Необходимо построить интерфейс с библиотекой, используя тот же компилятор, который использовался для построения библиотеки C++. Если библиотека доступна только для заголовка (не использует файл общей библиотеки), можно выбрать любой поддерживаемый компилятор C++ для построения библиотеки интерфейса.
Примечание
Не каждый компилятор C++ поддерживает каждую функцию C++.