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

Этот пример создает файл определения библиотеки для библиотеки с файлом библиотеки импорта на Windows®.

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

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

mex -setup cpp

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

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

productPath = fullfile(matlabroot,"extern","examples","cpp_interface");
hppFile = "matrixOperations.hpp";
hppPath = productPath;
libFile = "matrixOperations.lib";
libname = "matrixlib";

Идентифицируйте разделяемую библиотеку. Не прокомментируйте и выполните один из этих операторов на основе вашего выбранного компилятора.

%libPath = fullfile(productPath,"win64","mingw64");
%libPath = fullfile(productPath,"win64","microsoft");

Сгенерируйте файл определения. 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.

C++ compiler set to 'MinGW64 Compiler (C++)'.
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 путем щелчка по ссылке в выходном сигнале. Затем продолжите следующий шаг.

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