Сгенерируйте интерфейс на Linux

Этот пример создает файл определения библиотеки definematrixlib.mlx для библиотеки с файлом общего объекта на Linux®.

Проверьте выбранный компилятор C++

Можно использовать любой компилятор C++, поддержанный MathWorks. Этот пример использует g ++ компилятор для компиляции языка C++. Чтобы проверить, что у вас есть компилятор C++, введите:

mex -setup cpp

Сгенерируйте файл определения

Идентифицируйте имена и пути к артефактам библиотеки C++.

productPath = fullfile(matlabroot,"extern","examples","cpp_interface");
libPath = fullfile(productPath,"glnxa64");
hppFile = "matrixOperations.hpp";
hppPath = productPath;
libFile = "libmwmatrixOperations.so";

% Name the interface
libname = "matrixlib";

Сгенерируйте файл определения. MATLAB® создает файл определения definematrixlib.mlx.

clibgen.generateLibraryDefinition(fullfile(hppPath,hppFile),...
    "Libraries", fullfile(libPath,libFile),... 
    "PackageName", libname,...
    "ReturnCArrays",false,... % treat output as MATLAB arrays
    "OverwriteExistingDefinitionFiles",true,...
    "Verbose",true)
Warning: Some C++ language constructs in the files for generating interface file are not supported and not imported.

Using g++ compiler.
Definition file definematrixlib.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 definematrixlib.mlx.
To build the interface, call build(definematrixlib).

Открытый файл определения

Откройте сгенерированный файл определения в Live Editor путем щелчка по ссылке в выходном сигнале. Затем продолжите следующий шаг.

Смотрите также