Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

コマンド ラインからの C/C++ 共有ライブラリの作成

C/C++ アプリケーションは、MATLAB® プロンプトまたはシステムのプロンプトで次のいずれかのコマンドを使用してパッケージ化できます。

  • deploytool は、保存されているコンパイラ プロジェクトを実行するためのアプリケーション コンパイラ アプリを呼び出します。

  • mcc は、コマンド プロンプトでデプロイ可能なアプリケーションを作成するための MATLAB Compiler™ を呼び出します。

deploytool によるコンパイラ プロジェクトの実行

deploytool コマンドには、ウィンドウを開かずに既存のプロジェクトをパッケージ化するためのいずれかのコンパイラ アプリを呼び出す 2 つのフラグがあります。

  • -build project_name — 正しいコンパイラ アプリを呼び出してプロジェクトをビルドし、インストーラーは生成しません。

  • -package project_name — 正しいコンパイラ アプリを呼び出してプロジェクトをビルドし、インストーラーも生成します。

たとえば、deploytool -package magicsquare は、magicsquare プロジェクトで定義されたバイナリ ファイルを生成し、それらを第三者への配布が可能なインストーラーにパッケージ化します。

mcc による共有ライブラリのパッケージ化

mcc コマンドは、コマンド プロンプトでデプロイ可能なアプリケーションを作成するための MATLAB Compiler を呼び出します。アプリケーションをパッケージ化するときに細かい制御が可能です。結果はインストーラーにパッケージ化されません。

ライブラリを生成するためのコンパイラを呼び出すには、mcc-l フラグを使用します。-l フラグは、C または C++ で開発されたアプリケーションに統合できる C/C++ 共有ライブラリを作成します。

共有ライブラリのパッケージ化に使用する mcc のオプションは次のとおりです。

オプション説明
-W lib:libname -T link:lib

C 共有ライブラリを生成します。-l を使用することと等価です。

-W lib:<libname> オプションは、共有ライブラリの関数ラッパーを生成し、それに libname の名前を付けるようにコンパイラに指示します。-T link:lib オプションは、ターゲットの出力を共有ライブラリとして指定します。後で必要になるため、共有ライブラリが配置されたディレクトリをメモしておきます。

-W cpplib:libname -T link:lib

C++ 共有ライブラリを生成します。

-W lib:<libname> オプションは、共有ライブラリの関数ラッパーを生成し、それに libname の名前を付けるようにコンパイラに指示します。-T link:lib オプションは、ターゲットの出力を共有ライブラリとして指定します。後で必要になるため、共有ライブラリが配置されたディレクトリをメモしておきます。

-a filePath生成されるバイナリにパス上のファイルを追加します。
-d outFolderパッケージ化されたアプリケーションのフォルダーを指定します。

次のファイルを配布して、C/C++ 共有ライブラリをアプリケーションに統合します。

  • デプロイされた MATLAB 関数の関数シグネチャ

  • libraryName.lib/.dylib/.so — 生成されたライブラリ

  • libraryName.h — 生成されたヘッダー ファイル

コンパイラ アプリとコマンド ラインの違い

コンパイラ アプリ、関数 compiler.buildmcc コマンド ライン インターフェイスを使用して実行する関数はどれも同じです。コンパイラ アプリで使用される対話型のメニューやダイアログ ボックスでは、仕様に合わせてカスタマイズされた mcc コマンドがビルドされます。そのため、mcc を使用してパッケージ化した場合と同じ方法で MATLAB コードが処理されます。

デプロイするアプリケーションのタイプ用のコマンドがわかっていて、インストーラーが必要ない場合は、コンパイラ アプリのワークフローを実行するよりも compiler.build または mcc を実行する方が速くなります。

コンパイラ アプリの利点は次のとおりです。

  • 関連するデプロイ タスクを単一の直感的なインターフェイスで実行できる。

  • 関連する情報を扱いやすいプロジェクト ファイルで管理できる。

  • プロジェクトの状態がセッション間で維持される。

  • 以前に保存したコンパイラ プロジェクトをあらかじめ取り込まれたメニューから読み込める。

  • アプリケーションを配布用にパッケージ化できる。

参考

|

関連するトピック