Требования для создания интерфейса к библиотекам C++

Разделяемая библиотека является набором классов и функций, динамически загруженных приложением во время выполнения. MATLAB® интерфейс к совместно использованной библиотеке C++ поддерживает библиотеки, содержащие функциональность, заданную в заголовке C++ и исходных файлах. Необходимо смочь скомпилировать заголовки в среде разработки C++ и использовать функциональность в приложениях C++.

Cpp исходные и заголовочные файлы

Чтобы опубликовать интерфейс MATLAB к библиотеке C++, идентифицируйте определенную функциональность, которую вы хотите включать в интерфейс и связанные заголовочные файлы, содержащие ту функциональность.

Можно использовать пример кода библиотеки в качестве начальной точки, чтобы создать .hpp заголовочный файл. Пример кода содержит соответствующие заголовочные файлы в #include операторы. Скопируйте .cpp код в текстовый редактор. Удалите main функционируйте и его реализация. Сохраните файл с .cpp расширение файла. Именем этого файла является SourceFiles аргумент для clibgen.buildInterface или clibgen.generateLibraryDefinition функции.

Совместно использованные файлы библиотеки

MATLAB поддерживает 64-битные динамические библиотеки по этим платформам:

ПлатформаРазделяемая библиотекаРасширение файла

Microsoft® Windows®

Файл динамически подключаемой библиотеки

.dll

Импортируйте файл библиотеки

.lib

Linux®

Файл общего объекта

.so

Apple macOS

Динамический совместно использованный файл библиотеки

.dylib

Зависимости от компилятора

Чтобы создать интерфейс MATLAB для библиотеки C++, вам нужен установленный компилятор C++, который поддерживает MATLAB. Для актуального списка поддерживаемых компиляторов см. Поддерживаемые и Совместимые Компиляторы.

Необходимо создать интерфейс к библиотеке при помощи того же компилятора, который использовался, чтобы создать библиотеку C++. Если ваша библиотека только для заголовка (не использует совместно использованный файл библиотеки), то можно выбрать, любой поддержал компилятор C++, чтобы создать интерфейсную библиотеку.

Примечание

Не каждый компилятор C++ поддерживает каждую функцию C++.

Похожие темы

Внешние веб-сайты