主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

clibgen.generateLibraryDefinition

c++ラ▪▪ブラリの定義ファ▪▪ルを作成

説明

clibgen.generateLibraryDefinition (CppFilesは,CppFilesで定義されたc++ラescブラリへのmatlab®@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

定義ファ@ @ルの名前は定义库名.mlxです。このファ化学键ルの使用方法の詳細に化学键いては,C++ラブラリに対するmatlabンタスの定義を参照してください。既定の設定では,库名CppFilesで指定したファ@ @ルの名前です。複数のヘッダファルを使用する場合,PackageName引数を指定しなければなりません。共有ラ超市超市ブラリファ超市超市ルを使用する場合,引数を指定しなければなりません。

构建メソッドを使用します。MATLABでサポートされる C++ コンパイラが必要です。C++ ライブラリのビルドに使用したものと同じコンパイラを使って、インターフェイス ライブラリをビルドしなければなりません。ライブラリがヘッダー専用 (共有ライブラリ ファイルを使用しない) の場合は、サポートされている任意の C++ コンパイラを選択してインターフェイス ライブラリをビルドできます。

clibgen.generateLibraryDefinition (CppFiles“库”,SharedLibraryは1以上の共有ラ。

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

すべて折りたたむ

school.hppヘッダファルを書き込み可能なフォルダにコピします。

拷贝文件(fullfile (matlabroot,“外来的”“例子”“cpp_interface”“school.hpp”),“。”“f”

ラ▪▪ブラリ定義ファ▪▪ルdefineschool.mlxを生成します。

clibgen.generateLibraryDefinition (“school.hpp”
使用MinGW64编译器(c++)编译。生成定义文件defineschool。mlx和数据文件'schoolData.xml'包含了MATLAB支持的21个结构的定义。金宝app1个结构需要额外的定义。要在接口中包含这些构造,请编辑definesschool .mlx中的定义。使用Build (defineschool)进行构建。

入力引数

すべて折りたたむ

▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪字符串配列、文字ベクトル、または文字ベクトルのcell配列として指定します。インターフェイス生成ファイルはヘッダーファイルまたはソースコード. cppファ@ @ルのいずれかです。サポトされているヘッダー ファイル拡張子は. h. hpp,および.hxxです。. hヘッダファルのコドはc++と互換性のあるcコドでなければなりません。拡張子のないヘッダファルもサポトされます。サポトされているソスファル拡張子は. cpp. cxxです。現在のフォルダーまたはMATLABのパスにない場合,名前にはファイルの絶対パスまたは相対パスが含まれます。ファc ++コc ++ドを含めなければなりません。

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

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

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

Matlabは,推导推导出的推导公式。ただし,OutputFolder引数を指定する場合を除きます。このサブフォルダ,の名前は,最初のヘッダ,ファ。たとえば,このステ,トメントは現在のフォルダ,のサブフォルダ,到了头で▪▪ンタ▪▪フェ▪▪スラ▪▪ブラリファ▪▪ルを作成します。

clibgen.generateLibraryDefinition (“myHeader.hpp”

例:“sample.hpp”

例:“sample.cxx”

デ,タ型:字符|字符串|细胞

ラ▪▪▪ブラリへの1▪▪▪以上の絶対パス名。字符串配列、文字ベクトルまたは文字ベクトルのcell配列として指定します。“库”引数と共に使用します。この値は,ヘッダーファイルで完全に定義されているライブラリであるヘッダー専用ライブラリ以外に必要です。共有ラ@ @ブラリは次のいずれかです。

  • 微软®プラットフォ,ムの場合,. dllダ▪▪ナミックリンクラ▪▪ブラリファ▪▪ルを使用する。

  • Linux®プラットフォ,ムの場合,所以共有オブジェクトファ@ @ルを使用する。

  • macOSプラットフォ,ムの場合,. dylibダ▪▪ナミック共有ラ▪▪ブラリファ▪▪ルを使用する。

たとえば,このステ,トメントは,myLib.libを使用して,C: \ myLib \definesample.mlxを作成し,現在のフォルダ,に書き込みます。

clibgen.generateLibraryDefinition (“sample.hpp”“库”“C: \ myLib \ myLib.lib”

デ,タ型:字符|字符串|细胞

名前と値のペアの引数

オプションの名称,值の引数ペアをコンマ区切りで指定します。名字は引数名で,价值は対応する値です。名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を任意の順序で指定できます。

例:clibgen.generateLibraryDefinition({“hfile1.hpp”、“hfile2.hpp”},“库”,“mylib.lib”、“IncludePath”、“C: \ mylib \包括”,“PackageName”、“mypackage”,“OutputFolder”,“C: \工作”,“DefinedMacros”(“mymacro1”、“mymacro2 = 0”),“UndefinedMacros”、“mymacro3”);

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

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

デ,タ型:字符|字符串|细胞

定義ファ▪▪ルの生成に使用するフォルダ▪▪名。字符串スカラまたは文字ベクトルとして指定します。関数构建を呼び出す前に,フォルダ,がmatlabパス上にあることを確認します。次のステ,トメントはdefinemyHeader.mlxC: \工作に作成します。

clibgen.generateLibraryDefinition (“myHeader.hpp”“OutputFolder”“C: \工作”

デ,タ型:字符|字符串|细胞

生成されたンタフェスパッケジ名。字符串スカラまたは文字ベクトルとして指定します。1 つのヘッダー ファイルから作成されたインターフェイスの場合、既定値はヘッダー名です。複数のヘッダー ファイルの場合は、パッケージ名を有効な MATLAB 名として指定しなければなりません。たとえば、このステートメントは現在のフォルダーのサブフォルダーmyPackagedefinemyPackage.mlxを作成します。

clibgen.generateLibraryDefinition ({“h1.hpp”“h2.hpp”},“PackageName”“myPackage”

デ,タ型:字符|字符串|细胞

生成メッセ,ジの表示オプション。真正的またはとして指定します。详细的真正的の場合,matlabは定義ファ。このステ,トメントはdefineh1.mlxを作成し,メッセ,ジをコマンドウィンドウに表示します。

clibgen.generateLibraryDefinition (“h1.hpp”“详细”,真正的)

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

デ,タ型:逻辑

オブジェクトポ▪▪ンタ▪▪の形状指定子。真正的またはとして指定します。TreatObjectPointerAsScalar真正的の場合,matlabは形状1として指定してラブラリ内のすべてのオブジェクトポンタをスカラとして扱います。それ以外の場合,オブジェクトポ。

デ,タ型:逻辑

常量文字ポ转换器ンタ转换器の形状とmatlab型指定子。真正的またはとして指定します。TreatConstCharPointerAsCString真正的の場合,matlabはMLTYPE字符串形状nullTerminatedとして指定し,ラ常量文字ポaapl . exe文字ポaapl . exeをnullで終了するCの文字列として扱います。それ以外の場合,matlab型および常量文字ポ▪▪ンタ▪▪の形状は不明です。サポトされているポインターの型は次のとおりです。

  • Const char *

  • Const wchar_t *

  • Const char16_t *

  • 常量char32_t *

デ,タ型:逻辑

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

デ,タ型:字符串

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

デ,タ型:字符串

C++ファC++ファC++ルからドキュメンテC++ションを生成するかどうか。真正的またはとして指定します。GenerateDocumentationFromHeaderFiles真正的の場合,matlabはmatlab医生コマンドを使用してc++ソースファイルのコメントから表示用のドキュメンテーションを生成します。の場合,MATLAB c++コはメントを無視し,MATLABのドキュメンテーションおよびc++型のマッピングのみを生成します。

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

デ,タ型:逻辑

非オブジェクトc配列を返すかどうか。真正的またはとして指定します。ReturnCArrays真正的の場合,matlabは非オブジェクトc配列のc配列(clib.array。*)を返します。の場合,matlabは非オブジェクトc配列の数値のmatlab配列を返します。

デ,タ型:逻辑

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

例:“与”

デ,タ型:字符|字符串|细胞

制限

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

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

ヒント

  • ラ▪▪ブラリ定義ファ▪▪ルを再作成するには,まず定义库名.mlxファ电子邮箱ルを削除してから,clibgen.generateLibraryDefinitionを呼び出します。

R2019aで導入