Main Content

clibgen.generateLibraryDefinition

C++ ライブラリの定義ファイルを作成

説明

関数 clibgen.generateLibraryDefinition は、C++ ライブラリへの MATLAB® インターフェイスの生成に使用する MATLAB ライブ コード "定義ファイル" を作成します。この関数を使用して以下を行います。

  • インターフェイスを定義する C/C++ ファイルを選択する。使用する構文の説明については、ヒントの「ライブラリ内のファイル」を参照してください。

  • 生成ステップで使用する構成を選択する。

  • 引数を定義するために使用する構成を指定する (オプション)。

  • コンパイラ ビルド構成引数を指定する (オプション)。

定義ファイルを作成した後に、必要に応じてコンテンツを変更し、関数では自動的に定義できない機能を含めることができます。ライブラリ定義ファイルの使用については、C++ ライブラリに対する MATLAB インターフェイスの定義を参照してください。

MATLAB でサポートされる C++ コンパイラが必要です。C++ ライブラリのビルドに使用したものと同じコンパイラを使って、インターフェイス ライブラリをビルドしなければなりません。ライブラリがソース ファイルで完全に定義される場合 (コンパイル済みライブラリ ファイルを使用しない場合)、サポートされている任意の C++ コンパイラを選択してインターフェイス ライブラリをビルドできます。

定義ファイルで関数 build を呼び出して MATLAB インターフェイス ファイルを作成します。

clibgen.generateLibraryDefinition(InterfaceGenerationFiles,Libraries=LibraryFiles) は、InterfaceGenerationFiles および LibraryFiles で定義される定義ファイルを作成します。

定義ファイルの名前は definelibName.m です。既定の設定では、libNameInterfaceGenerationFiles で指定した最初のファイルの名前です。たとえば、mylibrary.hpp という名前のヘッダー ファイルを指定すると、この関数によって definemylibrary.m という名前の定義ファイルが作成されます。インターフェイス生成ファイルを複数指定する場合は、名前と値の引数 PackageName を使用して libName を指定する必要があります。

clibgen.generateLibraryDefinition(InterfaceGenerationFiles,SupportingSourceFiles=SourceFiles) は、複数のヘッダー ファイル、ソース ファイル、および必要な場合は、コンパイル済みライブラリ ファイルにより定義されたライブラリ用です。

clibgen.generateLibraryDefinition(InterfaceGenerationFiles) は、InterfaceGenerationFiles で完全に定義されるライブラリ用です。ライブラリにコンパイル済みライブラリ ファイルが含まれている場合、引数 Libraries を指定しなければなりません。

clibgen.generateLibraryDefinition(___,Name=Value) は、1 つ以上の名前と値のペアの引数を使用してファイルを作成します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。

  • 構成オプションを使用して、定義ファイルの出力フォルダーまたはインターフェイス パッケージ名を指定します。

  • C++ ライブラリ設定を使用して、マクロ定義を管理します。

  • 定義の構成を使用して、ライブラリ内のすべての特定の引数タイプを定義します。

  • ビルド構成を使用して、コンパイラ ビルドおよびリンクのオプションを指定します。

すべて折りたたむ

この例のファイルは、MATLAB サンプル フォルダーに格納されています。Windows®matrixOperations.hpp ヘッダー ファイルからライブラリ定義ファイル definematrixOperations.m を生成します。Linux® の例については、Linux でのヘッダー ファイルおよびコンパイル済みライブラリ ファイルを参照してください。

ヘッダー ファイルの絶対パスを指定して InterfaceGenerationFiles 引数 hFile を作成します。

hFile = fullfile(matlabroot,"extern","examples","cpp_interface","matrixOperations.hpp");

このヘッダー ファイルには別のヘッダー ファイルが含まれています。含まれているヘッダー ファイルが格納されているフォルダーの絶対パスを指定して IncludePath 引数 iPath を作成します。

iPath = fullfile(matlabroot,"extern","examples","cpp_interface");

コンパイル済みライブラリ ファイルの絶対パスを指定して Libraries 引数 libFile を作成します。

libFile = fullfile(matlabroot,"extern","examples","cpp_interface", ...
    "win64","mingw64","matrixOperations.lib");

definematrixOperations.m ライブラリ定義ファイルを作成します。

clibgen.generateLibraryDefinition(hFile,IncludePath=iPath,Libraries=libFile)
C++ compiler set to 'MinGW64 Compiler (C++)'.
Definition file definematrixOperations.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 definematrixOperations.m.
To build the interface, call build(definematrixOperations).

この例のファイルは、MATLAB サンプル フォルダーに格納されています。matrixOperations.hpp ファイルと matrixOperations.cpp ファイルから definematrixOps.m という名前のライブラリ定義ファイルを生成します。

ヘッダー ファイル matrixOperations.hpp の絶対パスを指定して InterfaceGenerationFiles 引数 hFile を作成します。

hFile = fullfile(matlabroot,"extern","examples","cpp_interface","matrixOperations.hpp");

このヘッダー ファイルには別のヘッダー ファイルが含まれています。含まれているヘッダー ファイルが格納されているフォルダーの絶対パスを指定して IncludePath 引数 iPath を作成します。

iPath = fullfile(matlabroot,"extern","examples","cpp_interface");

C++ ソース ファイル matrixOperations.cpp の絶対パスを指定して SupportingSourceFiles 引数 cFile を作成します。

cFile = fullfile(matlabroot,"extern","examples","cpp_interface","matrixOperations.cpp");

引数 PackageName"matrixOps" に設定して、ライブラリ定義ファイル definematrixOps.m を作成します。

clibgen.generateLibraryDefinition(hFile, ...
    SupportingSourceFiles=cFile, ...
    IncludePath=iPath, ...
    PackageName="matrixOps")
C++ compiler set to 'MinGW64 Compiler (C++)'.
Definition file definematrixOps.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 definematrixOps.m.
To build the interface, call build(definematrixOps).

school.hpp ヘッダー ファイルからライブラリ定義ファイル defineschool.m を生成します。

clibgen.generateLibraryDefinition(fullfile(matlabroot,"extern","examples","cpp_interface","school.hpp"))
C++ compiler set to 'MinGW64 Compiler (C++)'.
Definition file defineschool.m contains definitions for 21 constructs supported by MATLAB.
- 20 constructs are fully defined.
- 1 construct partially defined and commented out.

To include the 1 undefined construct in the interface, 
uncomment and complete the definitions in defineschool.m.
To build the interface, call build(defineschool).

入力引数

すべて折りたたむ

インターフェイスを生成するためのファイル。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。現在のフォルダーまたは MATLAB のパスにない場合、引数にはファイルの絶対パスまたは相対パスが含まれます。詳細については、ヒントの「ライブラリ内のファイル」を参照してください。

引数 InterfaceGenerationFiles および SupportingSourceFiles を指定するファイルは次のとおりです。

  • ヘッダー ファイル。ファイル拡張子は .h.hpp、または .hxx です。拡張子のないヘッダー ファイルもサポートされます。.h ヘッダー ファイルのコードは C++ と互換性のある C コードでなければなりません。

    インターフェイス生成ファイルを複数指定する場合は、PackageName 引数を使用する必要があります。

  • ソース コード ファイル。ファイル拡張子は .c.cpp、または .cxx です。C ソース ファイルの使用については、CLinkage を参照してください。

これらのファイルには、ライブラリによってエクスポートされたすべての関数の宣言を含めなければなりません。これらを C++ 開発環境でコンパイルし、その機能を C++ アプリケーションで使用できなければなりません。ライブラリがヘッダー ファイル (ヘッダーのみのライブラリ) で完全に定義される場合、引数 Libraries を指定する必要ありません。

さまざまなフォルダー内のヘッダー ファイルの #include ステートメントがメイン ヘッダー ファイルに含まれている場合は、IncludePath 引数を使用してこれらのパスを指定します。

1 つのヘッダー ファイル名を指定した場合、関数は、そのヘッダー ファイルと同じフォルダーで同じ名前のライブラリを探します。ライブラリにはプラットフォーム固有のファイル名の拡張子がなければなりません。ライブラリに異なる名前がある場合、またはライブラリが同じフォルダーにない場合、Libraries 引数を使用します。

関数は、インターフェイス ファイルを現在のフォルダーのサブフォルダーに書き込みます。ただし、OutputFolder 引数を指定する場合を除きます。このサブフォルダーの名前は、最初のヘッダー ファイルの名前からファイル拡張子を除いたものです。たとえば、このステートメントは現在のフォルダーのサブフォルダー myHeader でインターフェイス ライブラリ ファイルを作成します。

clibgen.generateLibraryDefinition("myHeader.hpp")

例: "sample.hpp"

データ型: char | string | cell

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: clibgen.generateLibraryDefinition( ...
["hfile1.hpp","hfile2.hpp"], ...
Libraries="hfile1.lib", ...
IncludePath="C:\mylib\include", ...
PackageName="mylib", ...
OutputFolder="C:\work", ...
DefinedMacros=["mymacro1","mymacro2=0"], ...
UndefinedMacros="mymacro3", ...
OverwriteExistingDefinitionFiles=true);

ファイルの選択

すべて折りたたむ

コンパイル済みライブラリ ファイル名。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。InterfaceGenerationFiles 引数および名前と値の引数 SupportingSourceFiles で指定されたファイルでライブラリが完全に定義される場合を除き、この値は必須です。

ライブラリは次のいずれかです。

  • Windows プラットフォームの場合:

    • コンパイル済みライブラリの場合は .lib インポート ライブラリ ファイルを指定します。

      .lib ファイルを使用できない場合、サポートされている Microsoft® Visual Studio® コンパイラでライブラリがコンパイルされていれば、.dll ダイナミックリンク ライブラリ ファイルを指定できます。以下に例を示します。

      clibgen.generateLibraryDefinition("A.hpp",Libraries="A.dll")
    • スタティック ライブラリの場合は .lib ファイルを指定します。以下に例を示します。

      clibgen.generateLibraryDefinition("A.hpp",Libraries="A.lib")

      サポートされている MinGW-w64 コンパイラでライブラリがコンパイルされていれば、.a スタティック ライブラリ ファイルを指定できます。以下に例を示します。

      clibgen.generateLibraryDefinition("A.hpp",Libraries="A.a")
  • Linux プラットフォームの場合、.so 共有オブジェクト ファイルまたは .a スタティック ライブラリ ファイルを指定します。

  • macOS プラットフォームの場合、.dylib ダイナミック共有ライブラリ ファイルまたは .a スタティック ライブラリ ファイルを指定します。

たとえば、このステートメントは、現在のフォルダー内の sample.hpp および C:\myLib フォルダー内の myLib.lib を使用して definesample.m を作成し、その定義ファイルを現在のフォルダーに書き込みます。

clibgen.generateLibraryDefinition("sample.hpp",Libraries="C:\myLib\myLib.lib")

データ型: char | string | cell

C/C++ ソース ファイル。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。名前と値の引数 SupportingSourceFiles と共に使用します。サポートされているファイル拡張子は .c.cpp.cxx です。現在のフォルダーまたは MATLAB のパスにない場合、引数にはファイルの絶対パスまたは相対パスが含まれます。サポート ソース ファイルには C/C++ コードが含まれていなければなりません。

詳細については、ヒントの「ライブラリ内のファイル」を参照してください。

C ソース ファイルのビルドについては、CLinkage を参照してください。

ライブラリがヘッダー ファイルおよび C++ ソース ファイルにより完全に定義されている場合、コンパイル済みライブラリ ファイルは必要ありません。

例: "sample.cpp"

データ型: char | string | cell

含まれるヘッダー ファイルのフォルダー。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。IncludePath の各値は、ヘッダー ファイルのコンパイル中に含めるフォルダーへの絶対パス名でなければなりません。

さまざまなフォルダー内のヘッダー ファイルの #include ステートメントがメイン ヘッダー ファイルに含まれている場合は、IncludePath 引数を使用してこれらのパスを指定します。

データ型: char | string | cell

構成

すべて折りたたむ

生成されたインターフェイス パッケージ名。string スカラーまたは文字ベクトルとして指定します。詳細については、C++ コンパイル済みライブラリの関数の呼び出しを参照してください。

1 つのヘッダー ファイルから作成されたインターフェイスの場合、既定値はヘッダー名です。複数のヘッダー ファイルの場合は、パッケージ名を有効な MATLAB 名として指定しなければなりません。たとえば、次のステートメントは現在のフォルダーに definemylib.m を作成します。

clibgen.generateLibraryDefinition(["h1.hpp","h2.hpp"],PackageName="mylib")

データ型: char | string | cell

生成される定義ファイルのフォルダー名。string スカラーまたは文字ベクトルとして指定します。関数 build を呼び出す前に、フォルダーが MATLAB パス上にあることを確認します。次のステートメントは definemyHeader.mC:\work に作成します。

clibgen.generateLibraryDefinition("myHeader.hpp",OutputFolder="C:\work")

データ型: char | string | cell

ライブラリ定義ファイルを上書きするためのオプション。数値または logical 1 (true) または 0 (false) として指定します。定義ファイルの形式は definelibName.m または definelibname.m です。既存のファイルを上書きする場合は、OverwriteExistingDefinitionFilestrue に設定します。このオプションを使用して定義ファイルを生成します。

注意

このオプションを使用すると、関数により、それらのファイルに対して行った編集も含めてファイルが削除されます。

データ型: logical

生成メッセージの表示オプション。数値または logical 1 (true) または 0 (false) として指定します。Verbosetrue の場合、関数は定義ファイルの作成中および build コマンドで、生成メッセージをコマンド ウィンドウに表示します。このステートメントは defineh1.m を作成し、メッセージをコマンド ウィンドウに表示します。

clibgen.generateLibraryDefinition("h1.hpp",Verbose=true)

詳細については、サポートされていない型についてのメッセージを参照してください。

データ型: logical

C++ ライブラリ設定

すべて折りたたむ

ヘッダー ファイルを解析する際に使用するマクロ定義のリスト。空、スカラー string、またはスカラー string の行ベクトルとして指定します。マクロ名には 1 ~ 9、a ~ z、A ~ Z、および '_' の文字が含まれ、先頭を数字にすることはできません。

データ型: string

ヘッダー ファイルを解析する際に使用するマクロのキャンセルのリスト。空、スカラー string、またはスカラー string の行ベクトルとして指定します。マクロ名には 1 ~ 9、a ~ z、A ~ Z、および '_' の文字が含まれ、先頭を数字にすることはできません。

データ型: string

定義の構成

すべて折りたたむ

オブジェクト ポインターの形状指定子。数値または logical 1 (true) または 0 (false) として指定します。TreatObjectPointerAsScalartrue の場合、関数は SHAPE1 として指定してライブラリ内のすべてのオブジェクト ポインターをスカラーとして扱います。それ以外の場合、オブジェクト ポインターの形状は不明です。

R2019b で導入されました。

データ型: logical

const 文字ポインターの形状と MATLAB 型指定子。数値または logical 1 (true) または 0 (false) として指定します。TreatConstCharPointerAsCStringtrue の場合、関数は MLTYPEstringSHAPEnullTerminated として指定し、ライブラリ内のすべての const 文字ポインターを null で終了する C の文字列として扱います。それ以外の場合、MATLAB 型および const 文字ポインターの形状は不明です。サポートされているポインターの型は次のとおりです。

  • const char *

  • const wchar_t *

  • const char16_t *

  • const char32_t *

データ型: logical

非オブジェクト C++ 配列を返す方法を指定するオプション。数値または logical 1 (true) または 0 (false) として指定します。ReturnCArraystrue の場合、関数は C++ 配列を MATLAB clib 配列型 (clib.array.*) に変換します。false の場合、関数は C++ 配列をネイティブ MATLAB 配列に変換します。

データ型: logical

C++ ファイルからドキュメンテーションを生成するオプション。数値または logical 1 (true) または 0 (false) として指定します。GenerateDocumentationFromHeaderFilestrue の場合、関数は MATLAB doc コマンドを使用して C++ ファイルのコメントから表示用のドキュメンテーションを生成します。false の場合、関数は C++ コメントを無視し、MATLAB のドキュメンテーションおよび C++ 型のマッピングのみを生成します。

詳細については、C++ ライブラリに対する MATLAB インターフェイスのヘルプ テキストのパブリッシュを参照してください。

データ型: logical

ビルド構成

すべて折りたたむ

.h ヘッダー ファイルを解析およびビルドする方法を指定するオプション。数値または logical 1 (true) または 0 (false) として指定します。

CLinkagetrue の場合、関数は InterfaceGenerationFiles 引数内の .h ヘッダー ファイルを C ヘッダー ファイルとして扱います。C ヘッダー ファイルは、生成されたインターフェイス コード内の extern "C" ブロックに含められます。これにより、C ソース ファイルまたは C ライブラリに対してリンクする際に名前マングリングの問題が生じなくなります。

以下により定義されているライブラリのインターフェイスを作成する際に CLinkagetrue に設定します。

  • C ヘッダー ファイルおよびライブラリ ファイル。

  • C ヘッダー ファイルおよびソース ファイル。

  • CPP ファイルと C ファイルの組み合わせ。

CLinkagefalse の場合、関数は .h ヘッダー ファイルを CPP ファイルとして扱います。C への依存関係がある CPP ファイルからインターフェイスを作成する際には、既定 (CLinkagefalse) を使用します。この場合、C ファイルは、次の引数のいずれかで指定します。

  • C ヘッダー ファイルの場所を指す IncludePath

  • C ソース ファイルを指す SupportingSourceFiles

  • C コンパイル済みライブラリ ファイル .lib.dll.so、または .dylib を指す Libraries

clibgen.generateLibraryDefinition 引数で C ファイルを使用する方法を示した例については、ヒントの「ライブラリ内のファイル」を参照し、CLinkage を検索してください。

データ型: logical

インターフェイスをビルドするために使用されるコンパイラ フラグに追加するコンパイラ フラグのリスト。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。関数は、フラグを検証することなくコンパイラに直接渡します。

詳細については、C++ ライブラリ インターフェイスのビルドと内容の確認を参照してください。

例: clibgen.generateLibraryDefinition("A.hpp","AdditionalCompilerFlags","-std=c++20")

データ型: char | string | cell

インターフェイスをビルドするために使用されるリンカー フラグに追加するリンカー フラグのリスト。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。関数は、フラグを検証することなくリンカーに直接渡します。

詳細については、C++ ライブラリ インターフェイスのビルドと内容の確認を参照してください。

データ型: char | string | cell

制限

  • LibraryDefinition オブジェクト definelibName を MAT ファイルに保存することはサポートされていません。

  • 一部のロケール設定では非 ASCII 文字がサポートされていないため、フォルダー名とファイル名にはこれらの文字を使用しないでください。ロケールの詳細については、国際化に向けたロケール設定の概念を参照してください。

ヒント

  • ライブラリ定義ファイルを作成し直すには、名前と値の引数 OverwriteExistingDefinitionFilestrue に設定して clibgen.generateLibraryDefinition を呼び出します。このオプションを使用すると、関数により、それらのファイルに対して行った編集も含めてファイルが削除されます。

  • トラブルシューティングの詳細については、Troubleshooting C++ Library Definition Issuesを参照してください。

  • ライブラリに C/C++ ヘッダー ファイル、ソース ファイル、およびコンパイル済みライブラリ ファイルの組み合わせが含まれる場合があります。次の表に、ライブラリを定義するファイルの種類に応じた clibgen.generateLibraryDefinition の引数の設定方法を示します。

    ライブラリ内のファイル

    InterfaceGenerationFiles
    引数

    名前と値の引数

    Windows の単一の CPP ヘッダー ファイルとインポート ライブラリ ファイル。

    • A.hpp

    • フォルダー C:\Documents\MATLAB\ にある A.lib インポート ライブラリ ファイル

    例: Windows でのヘッダー ファイルおよびコンパイル済みライブラリ ファイル

    "A.hpp"

    Libraries="C:\Documents\MATLAB\A.lib"

    Linux の CPP ヘッダー ファイルとコンパイル済みオブジェクト ファイル。

    • A.hpp

    • フォルダー ~/MATLAB/ にある A.so

    例: Linux でのヘッダー ファイルおよびコンパイル済みライブラリ ファイル

    "A.hpp"

    Libraries="~/MATLAB/A.so"

    macOS の CPP ヘッダー ファイルとダイナミック コンパイル済みライブラリ ファイル。

    • A.hpp

    • フォルダー $home/Documents/MATLAB にある A.dylib

    "A.hpp"

    Libraries="$home/Documents/MATLAB/A.dylib"

    CPP ヘッダー ファイルと CPP ソース ファイルで完全に定義。ライブラリ ファイルなし。

    • ヘッダー ファイル A.hpp

    • ソース ファイル A.cpp

    例: ヘッダーと CPP のソース ファイル

    "A.hpp"

    SupportingSourceFiles="A.cpp"

    複数の CPP ヘッダー ファイルとソース ファイルおよびコンパイル済みライブラリ ファイル。A という名前のインターフェイスを作成。

    • ヘッダー ファイル A.hpp および B.hpp

    • ソース ファイル A.cpp

    • C:\Documents\MATLAB\ にあるコンパイル済みライブラリ ファイル B.lib

    ["A.hpp","B.hpp"]

    PackageName="A"a

    Libraries="C:\Documents\MATLAB\B.lib"

    SupportingSourceFiles="A.cpp"

    CPP ヘッダーのみのライブラリ。ライブラリがヘッダー ファイルで完全に定義され、コンパイル済みライブラリ ファイルがない。

    • A.hpp

    例: ヘッダー専用の HPP ファイル

    "A.hpp"

    該当なし

    CPP ソース ファイルで完全に定義され、コンパイル済みライブラリ ファイルがない。

    • A.cpp

    "A.cpp"

    該当なし

    C ヘッダー ファイルとソース ファイルで完全に定義。ライブラリ ファイルなし。

    • A.h

    • A.c

    "A.h"

    SupportingSourceFiles="A.c"

    CLinkage=true

    Windows の単一の C ヘッダー ファイルとインポート ライブラリ ファイル。

    • A.h

    • C:\Documents\MATLAB\ 内の A.lib

    "A.h"

    Libraries="C:\Documents\MATLAB\A.lib"

    CLinkage=true

    CPP ソース ファイルが C ヘッダー ファイルおよびソース ファイルに依存。

    • ソース ファイル myCPP.cpp

    • C:\Documents\MATLAB\ 内のヘッダー ファイルおよびソース ファイル A.h および A.c

    "myCPP.cpp"

    SupportingSourceFiles="C:\Documents\MATLAB\A.c"

    C ライブラリが CPP ソース ファイルに依存。

    • C:\Documents\MATLAB\ 内のヘッダー ファイルおよびソース ファイル A.h および A.c

    • ソース ファイル myCPP.cpp

    ["C:\Documents\MATLAB\A.h", "myCPP.cpp"]

    PackageName="myCPP"

    SupportingSourceFiles="C:\Documents\MATLAB\A.c"

    CLinkage=true

    CPP および C ヘッダー ファイルで定義されているライブラリと、C:\Documents\MATLAB\ 内の対応するライブラリ ファイル。

    • myCPP.hpp

    • myCPP.lib

    • myC.h

    • myC.lib

    ["myCPP.hpp","myC.h"]

    PackageName="myCPP"

    Libraries=["C:\Documents\MATLAB\myCPP.lib","C:\Documents\MATLAB\myC.lib"]

    CLinkage=true

    C ヘッダー ファイルが CPP ヘッダー ファイルに依存。

    • A.h

    • C:\Documents\MATLAB\ 内の B.hpp

    "A.h"

    IncludePath="C:\Documents\MATLAB\"

    a Because you have multiple header files, you must set the PackageName name-value argument. For example, if you set PackageName to "A", then when you call library function functionname from MATLAB, the syntax is clib.A.functionname.

バージョン履歴

R2019a で導入

すべて展開する