В этом примере показано, как создать MATLAB® файл определения библиотеки для библиотеки C++ объявил в заголовочном файле matrixOperations.hpp
и заданный в исходном файле C++ matrixOperations.cpp
.
Можно использовать любой компилятор C++, поддержанный MathWorks. Чтобы проверить, что у вас есть компилятор C++, введите:
mex -setup cpp
Этот пример использует Компилятор MinGW64 (C++) для компиляции языка C++.
Идентифицируйте имена и пути к артефактам библиотеки C++. По умолчанию функция использует имя заголовочного файла (matrixOperations
) как имя библиотеки (libname
).
productPath = fullfile(matlabroot,'extern','examples','cpp_interface'); hppFile = 'matrixOperations.hpp'; cppFile = 'matrixOperations.cpp';
Сгенерированный файл определения. MATLAB создает файл определения definematrixOperations.mlx
.
clibgen.generateLibraryDefinition(fullfile(productPath,hppFile),... "SupportingSourceFiles",fullfile(productPath,cppFile),... "OverwriteExistingDefinitionFiles",true,... "ReturnCArrays",false) % treat output as MATLAB arrays
C++ compiler set to 'MinGW64 Compiler (C++)'. Definition file definematrixOperations.mlx contains definitions for 10 constructs supported by MATLAB. - 5 construct(s) are fully defined. - 5 construct(s) partially defined and commented out. To include the 5 undefined construct(s) in the interface, uncomment and complete the definitions in definematrixOperations.mlx. To build the interface, call build(definematrixOperations).
MATLAB создает файл определения definematrixOperations.mlx
. Щелкните по ссылке в выходном сигнале, чтобы открыть файл, затем продолжить следующий шаг.
Откройте сгенерированный файл определения в Live Editor путем щелчка по ссылке в выходном сигнале. Затем продолжите следующий шаг.