Main Content

C++ ライブラリ インターフェイスのビルドと内容の確認

メモ

ライブラリの機能が不足している場合、ライブラリにサポートされていない言語機能またはデータ型が含まれている可能性があります。詳細については、Verbose オプションを true に設定して clibgen.generateLibraryDefinition を実行してください。

ライブラリ定義ファイルからのビルド

関数 clibgen.generateLibraryDefinition を使用してライブラリ定義ファイルを作成した場合は、関数 build を使用します。たとえば、ライブラリ定義ファイルが definelibName の場合は、次を入力します。

build(definelibName)
addpath libName

ライブラリに機能を表示します。

summary(definelibName)

1 ステップのビルド

定義の必要なポインターや他の構成要素がライブラリに含まれていない場合、定義ファイルを作成する必要はありません。C++ ヘッダー ファイルおよびライブラリ ファイルを指定して、clibgen.buildInterface を直接呼び出します。たとえば、ヘッダー ファイル header.hpp で定義されたライブラリ libName をビルドするには、次を入力します。

clibgen.buildInterface('header.hpp',Verbose=true)
addpath libName

C++ コンパイラ標準の指定

選択したコンパイラの既定の標準でサポートされない C++ 言語の構成要素がライブラリで使用されている可能性があります。詳細については、Visual Studio バージョン別の Microsoft C/C++ 言語準拠を参照してください。インターフェイスのビルドに使用する C++ コンパイラ標準を指定するには、名前と値の引数 AdditionalCompilerFlags を使用します。

clibgen.generateLibraryDefinition("A.hpp",AdditionalCompilerFlags=value)

たとえば、次の表は C++17 標準用の value を示しています。

AdditionalCompilerFlags=Value

プラットフォーム

コンパイラ

a

C++17 標準を使用する場合の値

Windows®Microsoft Visual C++ 2019

"/std:c++17"
"-std=c++17"

WindowsMinGW64 Compiler (C++)

"-std:c++17"

WindowsIntel Parallel Studio XE 2020 for C++ with Microsoft Visual Studio 2019

"/Qstd:c++17"

Linux®g++

"-std=c++17"

macOSXcode

"-std=c++17"

a For information about supported compilers, see Supported and Compatible Compilers.

コンパイラとリンカーのフラグの指定

インターフェイスをビルドする関数に特定のコンパイラとリンカーのフラグを渡すには、clibgen.generateLibraryDefinition または clibgen.buildInterface で名前と値の引数 AdditionalCompilerFlags または AdditionalLinkerFlags を使用します。これらのフラグは、関数では検証されずにコンパイラとリンカーに渡されます。パブリッシャーはフラグによるビルド プロセスへの影響を知る必要があります。

インターフェイスの内容の確認

MATLAB® は、一部の C++ コメント (ある場合) をヘッダー ファイルとソース ファイルからインターフェイスに自動的にコピーします。この内容は変更または置き換えることができます。詳細については、C++ ライブラリに対する MATLAB インターフェイスのヘルプ テキストのパブリッシュを参照してください。

ライブラリの機能のヘルプを表示するためのリンクを提供するヘルプ ブラウザーを開くには、関数 doc を使用します。たとえば、ライブラリ libname に含められたクラスを確認するには、次を入力します。

doc clib.libname

クラスのリンクをクリックします。MATLAB は新しいタブを開きます。クラス ClassName のヘルプを表示するために [コンストラクターの概要] リンクをクリックして、内容を確認します。[Property Summary] のリンクをクリックします。clib.libname.ClassName メソッドの [メソッドの概要] を精査します。

参考

|

関連するトピック