Main Content

macOS でのインターフェイスの生成

この例では、macOS のダイナミック共有ライブラリ ファイルを含むライブラリのライブラリ定義ファイル definematrixlib.m動的な を作成します。

選択した C++ コンパイラの確認

MathWorks でサポートされている任意の C++ コンパイラを使用できます。C++ コンパイラがあることを確認するには、次のように入力します。

mex -setup cpp

この例では、g++ コンパイラを使用します。

定義ファイルの生成

C++ ライブラリのアーティファクトの名前とパスを識別します。

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

% Name the interface
libname = "matrixlib";

定義ファイルを生成します。MATLAB® で定義ファイル definematrixlib.m が生成されます。

clibgen.generateLibraryDefinition(fullfile(hppPath,hppFile), ...
    "Libraries",fullfile(libPath,libFile), ... 
    "PackageName",libname, ... 
    "ReturnCArrays",false, ... % treat output as MATLAB arrays
    "OverwriteExistingDefinitionFiles",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.m contains definitions for 10 constructs supported by MATLAB.
- 5 constructs are fully defined.
- 5 constructs partially defined and commented out.

To include the 5 undefined constructs in the interface, uncomment and complete the definitions in definematrixlib.m.
To build the interface, call build(definematrixlib).

定義ファイルを開く

出力メッセージのリンクをクリックして、生成されたライブラリ定義ファイルを開きます。その後、次の手順に進みます。

参考