Main Content

compiler.build.CppSharedLibraryOptions

C++ 共有ライブラリのビルド オプション

R2021a 以降

    説明

    opts = compiler.build.CppSharedLibraryOptions(FunctionFiles) は、MATLAB® ファイル FunctionFiles を使用して、C++ 共有ライブラリ オプション オブジェクトを作成します。CppSharedLibraryOptions オブジェクトを関数 compiler.build.cppSharedLibrary への入力として使用します。

    opts = compiler.build.CppSharedLibraryOptions(FunctionFiles,Name,Value) は、名前と値の引数を 1 つ以上使用してオプションが指定された CppSharedLibraryOptions オブジェクトを作成します。オプションには、ライブラリ名、出力ディレクトリ、含める追加ファイルなどがあります。

    すべて折りたたむ

    ファイル入力を使用して CppSharedLibraryOptions オブジェクトを作成します。

    この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用します。

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
    opts = compiler.build.CppSharedLibraryOptions(appFile)
    opts = 
    
      CppSharedLibraryOptions with properties:
    
                    Interface: 'matlab-data'
        SampleGenerationFiles: {}
                FunctionFiles: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}
                   DebugBuild: off
                  LibraryName: 'magicsquare'
               LibraryVersion: '1.0.0.0'
              AdditionalFiles: {}s+ AutoDetectDataFiles: ons+ ObfuscateArchive: offs+ SupportPackages: {'autodetect'}
                      Verbose: off
                    OutputDir: '.\magicsquarecppSharedLibrary'

    ドット表記を使用して、既存の CppSharedLibraryOptions オブジェクトのプロパティ値を変更することができます。たとえば、詳細な出力を有効にします。

    opts.Verbose = 'on'
    opts = 
    
      CppSharedLibraryOptions with properties:
    
                    Interface: 'matlab-data'
        SampleGenerationFiles: {}
                FunctionFiles: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}
                   DebugBuild: off
                  LibraryName: 'magicsquare'
               LibraryVersion: '1.0.0.0'
              AdditionalFiles: {}s+ AutoDetectDataFiles: ons+ ObfuscateArchive: offs+ SupportPackages: {'autodetect'}
                      Verbose: on
                    OutputDir: '.\magicsquarecppSharedLibrary'

    CppSharedLibraryOptions オブジェクトを関数 compiler.build.cppSharedLibrary への入力として使用して、C++ 共有ライブラリをビルドします。

    buildResults = compiler.build.cppSharedLibrary(opts);

    CppSharedLibraryOptions オブジェクトを作成し、名前と値の引数を使用してカスタマイズします。

    この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用します。名前と値の引数を使用して出力ディレクトリを指定し、データ ファイルの自動検出を無効にします。

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
    opts = compiler.build.CppSharedLibraryOptions(appFile,...
        'OutputDir','D:\Documents\MATLAB\work\MagicSquareLib',...
        'AutoDetectDataFiles','off')
    opts = 
    
      CppSharedLibraryOptions with properties:
    
                    Interface: 'matlab-data'
        SampleGenerationFiles: {}
                FunctionFiles: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}
                   DebugBuild: off
                  LibraryName: 'magicsquare'
               LibraryVersion: '1.0.0.0'
              AdditionalFiles: {}
          AutoDetectDataFiles: off
              SupportPackages: {'autodetect'}
                      Verbose: off
                    OutputDir: 'D:\Documents\MATLAB\work\MagicSquareLib'

    ドット表記を使用して、既存の CppSharedLibraryOptions オブジェクトのプロパティ値を変更することができます。たとえば、詳細な出力を有効にします。

    opts.Verbose = 'on'
    opts = 
    
      CppSharedLibraryOptions with properties:
    
                    Interface: 'matlab-data'
        SampleGenerationFiles: {}
                FunctionFiles: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}
                   DebugBuild: off
                  LibraryName: 'magicsquare'
               LibraryVersion: '1.0.0.0'
              AdditionalFiles: {}
          AutoDetectDataFiles: off
              SupportPackages: {'autodetect'}
                      Verbose: on
                    OutputDir: 'D:\Documents\MATLAB\work\MagicSquareLib'

    CppSharedLibraryOptions オブジェクトを関数 compiler.build.cppSharedLibrary への入力として使用して、C++ 共有ライブラリをビルドします。

    buildResults = compiler.build.cppSharedLibrary(opts);

    入力引数

    すべて折りたたむ

    MATLAB 関数を実装するファイル。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。ファイルには .m 拡張子が必要です。

    例: ["myfunc1.m","myfunc2.m"]

    データ型: char | string | cell

    名前と値の引数

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

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

    例: 'Verbose','on'

    C++ 共有ライブラリに含める追加ファイルとフォルダー。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

    例: 'AdditionalFiles',["myvars.mat","data.txt"]

    データ型: char | string | cell

    データ ファイルを自動的に含めるためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

    • このプロパティを 'on' に設定した場合、特定の関数 (loadfopen など) の入力として指定したデータ ファイルは自動的に共有ライブラリに含められます。

    • このプロパティを 'off' に設定した場合、データ ファイルは AdditionalFiles プロパティを使用して共有ライブラリに追加する必要があります。

    例: 'AutoDetectDataFiles','off'

    データ型: logical

    デバッグ シンボルを有効にするためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

    • このプロパティを 'on' に設定した場合、コンパイルされたライブラリにはデバッグ シンボルが含まれます。

    • このプロパティを 'off' に設定した場合、コンパイルされたライブラリにはデバッグ シンボルが含まれません。

    例: 'DebugBuild','on'

    データ型: logical

    インターフェイス API。次のいずれかのオプションとして指定します。

    • 'matlab-data' — MATLAB データ API を使用して共有ライブラリを生成します。

    • 'mwarray'mwArray API を使用して共有ライブラリを生成します。

    詳細については、C++ 共有ライブラリの API の選択を参照してください。

    例: 'Interface','mwarray'

    C++ 共有ライブラリの名前。文字ベクトルまたは string スカラーとして指定します。生成されたライブラリの既定の名前は、FunctionFiles 引数の最初のエントリです。

    例: 'LibraryName','mymagic'

    データ型: char | string

    デプロイ可能なアーカイブを難読化するためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

    • このプロパティを 'on' に設定した場合、デプロイ可能なアーカイブのフォルダー構造およびファイル名はエンド ユーザーに対して難読化され、MATLAB ファイルに含まれているユーザー コードおよびデータはアーカイブ内のユーザー パッケージに配置されます。また、すべての .m ファイルがパッケージ化の前に P ファイルに変換されます。このオプションは、-j および -s を指定して mcc を使用するのと等価です。

    • このプロパティを 'off' に設定した場合、デプロイ可能なアーカイブは難読化されません。これは既定の動作です。

    例: 'ObfuscateArchive','on'

    データ型: logical

    ビルド ファイルが保存される出力ディレクトリへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

    ビルド フォルダーの既定の名前は、ライブラリ名に cppSharedLibrary を追加したものです。

    例: 'OutputDir','D:\Documents\MATLAB\work\mymagiccppSharedLibrary'

    データ型: char | string

    ライブラリ内に含まれる関数のサンプル C++ ライブラリ ファイルを生成するために使用する MATLAB サンプル ファイル。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。ファイルには .m 拡張子が必要です。詳細と制限については、サンプル ドライバー ファイルの作成を参照してください。

    例: 'SampleGenerationFiles',["sample1.m","sample2.m"]

    データ型: char | string | cell

    含めるサポート パッケージ。次のオプションのいずれかとして指定します。

    • 'autodetect' (既定) — 依存関係の分析プロセスにより、必要なサポート パッケージが自動的に検出され、含められます。

    • 'none' — サポート パッケージは含められません。このオプションを使用すると、ランタイム エラーの原因となる可能性があります。

    • string スカラー、文字ベクトル、または文字ベクトルの cell 配列 — 指定されたサポート パッケージのみが含められます。インストールされている、または特定のファイルで使用されるサポート パッケージのリストを表示するには、compiler.codetools.deployableSupportPackages を参照してください。

    例: 'SupportPackages',{'Deep Learning Toolbox Converter for TensorFlow Models','Deep Learning Toolbox Model for Places365-GoogLeNet Network'}

    データ型: char | string | cell

    ビルドの詳細を制御するためのフラグ。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

    • このプロパティを 'on' に設定した場合、MATLAB コマンド ウィンドウには、ビルド プロセス中のコンパイラ出力を示す進行状況情報が表示されます。

    • このプロパティを 'off' に設定した場合、コマンド ウィンドウには進行状況の情報は表示されません。

    例: 'Verbose','on'

    データ型: logical

    出力引数

    すべて折りたたむ

    C++ ライブラリのビルド オプション。CppSharedLibraryOptions オブジェクトとして返されます。

    バージョン履歴

    R2021a で導入