主要内容

compiler.build.cppSharedLibrary

创建C ++共享库

描述

例子

compiler.build.cppsharedlibrary(functionfiles.使用MATLAB创建一个c++共享库®由文件指定的文件functionfiles..安装支持金宝appc++编译器在使用此功能之前。

例子

compiler.build.cppsharedlibrary(functionfiles.名称,值创建一个使用一个或多个名称值参数指定的选项的C ++共享库。选项包括接口API,库名称和输出目录。

例子

compiler.build.cppsharedlibrary(选择创建一个C ++共享库,其中包含使用的选项compiler.build.CppSharedLibraryOptions对象选择.不能使用名称-值参数指定任何其他选项。

例子

结果= compiler.build.cppSharedLibrary (___将构建信息作为Compiler.Build.Results.对象使用前面语法中的任何输入参数组合。构建信息包括构建类型、编译文件的路径和构建选项。

例子

全部折叠

创建一个c++共享库,使用函数文件添加两个矩阵。

在MATLAB中,找到要部署为C ++库的MATLAB函数。对于本例,使用该文件addmatrix.m.位于matlabroot.\走读生\ \ compilersdk \ c_cpp \矩阵示例

appfile = fullfile(matlabroot,'extern''例子''compilersdk''c_cpp''矩阵'“addmatrix.m”);

构建一个c++库使用compiler.build.cppSharedLibrary命令。

compiler.build.cppsharedlibrary(appfile);

构建函数在命名的文件夹中生成以下文件magicsquarecppSharedLibrary在您当前的工作目录中:

  • gettingstarted.html.- 包含有关集共享库的信息的HTML文件。

  • mccexcludedfiles.log.- 日志文件,其中包含应用程序中未包含的任何工具箱函数的列表。有关非支持功能的信息,请参阅金宝appmatlab编译器限制

  • Readme.txt.- README文件,包含有关部署先决条件的信息以及要为部署包的文件列表。

  • REQUESCMCRP下载188bet金宝搏RODUCTS.txt.- 包含所需产品的产品ID的文本文件下载188bet金宝搏Matlab运行时运行应用程序。

  • unremolvedsymbols.txt.- 包含有关未解决符号的信息的文本文件。

  • v2 \ generic_interface \ magicsquare.ctf- 包含可部署存档的组件技术文件。

要实现共享库,请参见使用驱动程序应用程序实现C ++ MATLAB数据API共享库

创建C ++库并使用名称值参数自定义它。

对于本例,使用该文件addmatrix.m.位于matlabroot.\走读生\ \ compilersdk \ c_cpp \矩阵示例

appfile = fullfile(matlabroot,'extern''例子''compilersdk''c_cpp''矩阵'“addmatrix.m”);

将以下代码保存在一个名为addmatrixsample1.m.

A1 = [1 4 7;2 5 8;3 6 9];A2 = A1;a = addmatrix(a1,a2);

构建一个c++库使用compiler.build.cppSharedLibrary命令。使用名称-值参数指定库名称、添加示例文件和使用MWARRAY.界面。

compiler.build.cppSharedLibrary (appFile“LibraryName”'mwa_addmatrix'......'samplegenerationfiles'“addmatrixSample1.m”......'界面'“mwarray”);

构建函数在命名的文件夹中创建以下文件mwa_addmatrixcppSharedLibrary在您当前的工作目录中:

  • 样品\ addmatrixSample1_mwarray.cpp- C ++示例驱动程序文件。

  • gettingstarted.html.-包含关于集成共享库信息的文件。

  • mwa_addmatrix.cpp.- c++源代码文件。

  • mwa_addmatrix.def.-模块定义文件,为链接器提供模块信息。

  • mwa_addmatrix.dll-动态链接库文件。

  • mwa_addmatrix.exports.- 导出包含所有非静态函数名称的文件。

  • mwa_addmatrix.h.- c ++头文件。

  • mwa_addmatrix.lib.- 导入库文件。

  • mccexcludedfiles.log.- 日志文件,其中包含应用程序中未包含的任何工具箱函数的列表。有关非支持功能的信息,请参阅金宝appmatlab编译器限制

  • Readme.txt.- README文件,包含有关部署先决条件的信息以及要为部署包的文件列表。

  • REQUESCMCRP下载188bet金宝搏RODUCTS.txt.- 包含所需产品的产品ID的文本文件下载188bet金宝搏Matlab运行时运行应用程序。

  • unremolvedsymbols.txt.- 包含有关未解决符号的信息的文本文件。

要实现共享库,请参见使用驱动程序应用程序实现C ++ MWarray API共享库

创建多个c++库compiler.build.CppSharedLibraryOptions对象。

对于本例,使用该文件addmatrix.m.位于matlabroot.\走读生\ \ compilersdk \ c_cpp \矩阵示例

appfile = fullfile(matlabroot,'extern''例子''compilersdk''c_cpp''矩阵'“addmatrix.m”);

创建一个cppsharedlibraryoptions.对象使用appfile..使用名称值参数来指定公共输出目录,添加MAT文件,并启用详细输出。

选择= compiler.build.CppSharedLibraryOptions (appFile,......“OutputDir”'D:\ documents \ matlab \ work \ cpplibrarybatch'......'其他文件''myvars.mat'......'verbose'“上”
opts =具有属性的CPPSharedLibraryOptions:接口:'Matlab-Data'LibraryVersion:'1.0.0.0'SampleGenerationFiles:{} FunctionFiles:{'C:\ Program Files \ Matlab \R2021A\ extern \ simems \ compilersdk \ c_cpp \ addmatrix.m'} debugbuild:off libroundbuild:'addmatrix'的其他文件:{'d:\ documents \ matlab \ work \ myvars.mat'} autodeTectdatafiles:在verbose:'d:\ documents \ matlab \ work \ cpplibrarybatch'

使用“构建C ++共享库”cppsharedlibraryoptions.对象。

compiler.build.cppSharedLibrary(选择);

使用函数文件创建一个新库次曲线rix.m.使用相同的选项,请使用dot表示法修改functionfiles.现行论点cppsharedlibrary.对象再次运行构建功能之前。

选择。FunctionFiles = fullfile (matlabroot,'extern''例子''compilersdk''c_cpp''矩阵''subtractmatrix.m');compiler.build.cppSharedLibrary(选择);

通过修改functionfiles.参数和重新编译,您可以使用相同的选项对象编译多个库。

创建一个C ++库并保存有关构建类型,编译文件和构建选项的信息Compiler.Build.Results.对象。

使用该文件进行编译magicsquare.m位于matlabroot.\ extern \ examples \ compiler

结果= compiler.build.cppSharedLibrary (“magicsquare.m”
结果=具有属性的结果:BuildType:'CPPSharedLibrary'文件:{2×1 Cell}选项:[1×1 Compiler.Build.CppsharedLibraryOptions]

文件属性包含路径v2.文件夹gettingstarted.html.

输入参数

全部折叠

实现MATLAB函数的文件,指定为字符向量、字符串标量、字符串数组或字符向量的单元数组。文件路径可以是相对于当前工作目录的,也可以是绝对的。文件必须具有.m扩展。

例子:[“myfunc1.m”,“myfunc2.m”]

数据类型:char|细绳|细胞

C ++库构建选项,指定为acompiler.build.CppSharedLibraryOptions对象。

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。姓名参数名和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'verbose','开'

要包含在c++共享库中的其他文件,指定为字符向量、字符串标量、字符串数组或字符向量的单元格数组。文件路径可以是相对于当前工作目录的,也可以是绝对的。

例子:“AdditionalFiles”,(“myvars.mat”、“data.txt”)

数据类型:char|细绳|细胞

标志自动包含数据文件,指定为“上”或者'离开',或作为数字或逻辑1真的)或0)。价值“上”相当于真的, 和'离开'相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnoffSwitchState.

  • 如果将此属性设置为“上”,然后将作为某些功能的输入提供的数据文件(例如负载富豪)被自动包含在共享库中。

  • 如果将此属性设置为'离开',则必须使用额外的文件财产。

例子:“AutoDetectDataFiles”,“关闭”

数据类型:逻辑

标志以启用调试符号,指定为“上”或者'离开',或作为数字或逻辑1真的)或0)。价值“上”相当于真的, 和'离开'相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnoffSwitchState.

  • 如果将此属性设置为“上”,则编译后的库包含调试符号。

  • 如果将此属性设置为'离开',然后编译的库不包含调试符号。

例子:“DebugBuild”,“上”

数据类型:逻辑

接口API,指定为以下选项之一:

  • 'matlab-data'- 使用MATLAB数据API生成共享库。

  • “mwarray”- 使用使用的共享库MWARRAY.API。

有关更多信息,请参阅C ++共享库的API选择

例子:'接口','mwarray'

C ++共享库的名称,指定为字符向量或字符串标量。生成库的默认名称是第一个条目functionfiles.争论。

例子:'libraryname','mymagic'

数据类型:char|细绳

保存构建文件的输出目录的路径,指定为字符向量或字符串标量。该路径可以是相对于当前工作目录的,也可以是绝对路径。

构建文件夹的默认名称是附加的库名称cppsharedlibrary.

例子:“OutputDir”、“D: \ \ MATLAB文件\ \ mymagiccppSharedLibrary工作'

数据类型:char|细绳

用于为库中包含的函数生成示例c++库文件的MATLAB示例文件,指定为字符向量、字符串标量、字符串数组或字符向量的单元数组。文件路径可以是相对于当前工作目录的,也可以是绝对的。文件必须具有.m扩展。有关更多信息和限制,请参见驱动文件创建示例

例子:'SampleGenerationFiles',[“样品1.m”,“示例2.m”]

数据类型:char|细绳|细胞

标志控制构建详细程度,指定为“上”或者'离开',或作为数字或逻辑1真的)或0)。价值“上”相当于真的, 和'离开'相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnoffSwitchState.

  • 如果将此属性设置为“上”,“MATLAB命令”窗口显示在构建过程中指示编译器输出的进度信息。

  • 如果将此属性设置为'离开',然后命令窗口不显示进度信息。

例子:'verbose','开'

数据类型:逻辑

输出参数

全部折叠

构建结果,作为一个返回Compiler.Build.Results.对象。的结果对象包含:

  • 构建类型,即'cppsharedlibrary'

  • 以下路径:

    • gettingstarted.html.

    • v2.文件夹 (matlab-data界面)

    • libraryname..dll.MWARRAY.界面)

    • libraryname..lib.MWARRAY.界面)

    • libraryname..hMWARRAY.界面)

  • 构建选项,指定为cppsharedlibraryoptions.对象

介绍了R2021a