主要内容

生成c++ mwArray API共享库和构建一个c++应用程序

金宝app支持平台:窗户®,Linux®,Mac

这个例子展示了如何创建一个从MATLAB c++共享库®函数。你可以将生成的库集成到一个c++应用程序。这个示例还显示了如何调用c++共享库从c++应用程序。目标系统不需要MATLAB的执照副本。

创建函数MATLAB

在MATLAB中,检查你想要的MATLAB代码打包。对于这个示例,开放addmatrix.m位于matlabroot\走读生\ \ compilersdk \ c_cpp \矩阵示例

addmatrix.m

在MATLAB命令提示符,输入:

addmatrix ([1 4 7;2 5 8;3 6 9],[1 4 7;2 5 8;3 6 9])

的输出是:

ans = 2 8 14 4 10 16 6 12 18

创建一个c++共享库使用库编译应用程序

  1. MATLAB应用程序选项卡,最右边的应用程序部分,单击箭头。在应用程序部署,点击库的编译器

    或者,您可以打开库的编译器应用MATLAB命令提示符下输入:

    libraryCompiler

  2. 类型将来发布的部分,点击c++共享库

    库的编译器应用项目窗口中,指定你想要的文件MATLAB应用程序的部署。

    1. 导出功能将来发布的部分,点击将导出的函数添加到项目中

    2. 添加文件窗口,浏览文件夹,并选择你想要的功能包。点击开放

    导出函数的函数添加到列表的文件。重复这一步骤将多个文件打包在同一个应用程序中。

    在这个例子中,导航到matlabroot\走读生\ \ compilersdk \ c_cpp \矩阵示例并选择addmatrix.m

  3. 包装选项将来发布的部分,决定是否包括MATLAB运行时安装程序在生成的应用程序通过选择其中一个选项:

    • 运行时从web下载——生成一个下载的安装程序MATLAB运行时部署和安装以及MATLAB应用程序。您可以指定安装程序的文件名。

    • 运行时包含在包——包括生成一个应用程序MATLAB运行时安装程序。您可以指定安装程序的文件名。

      请注意

      第一次您选择此选项,提示您下载MATLAB运行时安装程序。

指定共享库设置

  1. 库名称字段是自动填充addmatrix打包的共享库的名称。重命名它为libmatrix。相同名称的后面是通过共享库的实现。

  2. 添加MATLAB文件生成样本c++驱动程序文件。尽管c++不需要驱动程序文件来创建共享库,用于演示如何实现c++ mwArray API与驱动应用程序共享库

    样品部分中,选择创建新的样本,然后单击addmatrix.m。MATLAB文件打开编辑。为应用程序定义了必要的输入变量,保存文件,并返回到库的编译器应用。和限制的更多信息,见示例驱动文件创建

  3. 编辑的MATLAB文件打开以下值:

    %示例脚本演示执行函数= addmatrix (a1, a2)a1 = [1 4 7;2 5 8;3 6 9];%初始化a1在这里a2 = a1;%初始化a2在这里一个= addmatrix (a1, a2);

    保存文件,并返回到库的编译器应用。和限制的更多信息,见示例驱动文件创建

  4. 选择类型的API生成c++共享库。在API的选择部分在底部,选择创建使用mwArray API的接口。有关更多信息,请参见API选择c++共享库

自定义应用程序和它们的外观

库的编译器应用程序,您可以自定义安装程序,自定义您的应用程序,并添加更多关于应用程序的信息。

  • 图书馆信息——关于部署的应用程序的信息。你也可以定制应用程序通过改变应用程序的外观图标和闪屏。生成安装程序使用这些信息来填充已安装的应用程序的元数据。看到自定义安装程序

  • 额外的安装选项——默认安装路径生成安装程序和自定义标识的选择。看到更改安装路径

  • 你的图书馆运行所需文件——所需的附加文件生成的应用程序运行。这些文件包括在生成的应用程序的安装程序。看到管理所需的文件在编译器项目

  • 文件为您的终端用户安装——文件安装您的应用程序。

    看到指定文件的安装与应用程序

打包应用程序

当你选择完你的包装选择,保存库的编译器项目和生成打包应用程序。

  1. 点击

    保存项目对话框中,指定位置保存项目。

  2. 对话框,确认打开流程完成时输出文件夹被选中。

    包装过程完成时,检查目标文件夹中生成的输出。

    • 三个文件夹生成:for_redistribution,for_redistribution_files_only,for_testing

      关于生成的文件的更多信息在这些文件夹,看到的文件生成后包装MATLAB函数

    • 日志文件PackagingLog.html包含包装的结果。

创建一个c++共享库使用compiler.build.cppSharedLibrary

请注意

如果您已经创建了一个独立的应用程序使用库的编译器应用程序,您可以跳过本节。然而,如果你想知道如何创建一个c++共享库的MATLAB命令窗口使用编程方法,遵循这些指示。

  1. 保存的路径addmatrix.m文件位于matlabroot\走读生\ \ compilersdk \ c_cpp \矩阵示例

    appFile = fullfile (matlabroot,“外来的”,“例子”,“compilersdk”,“c_cpp”,“矩阵”,“addmatrix.m”);
  2. 将下面的代码保存在一个示例文件命名addmatrixSample1.m:

    a1 = [1 4 7;2 5 8;3 6 9];a2 = a1;一个= addmatrix (a1, a2);

  3. 可以指定附加选项compiler.build命令通过一个或多个下列名称参数。

    • “AdditionalFiles”——附加文件路径中包含共享库。

    • “AutoDetectDataFiles”包括数据文件自动——国旗。

    • “DebugBuild”——国旗启用调试符号。

    • “界面”——指定为接口API“matlab-data”(默认)或“mwarray”。有关更多信息,请参见API选择c++共享库

    • “LibraryName”——生成的库的名称。

    • “OutputDir”——路径包含生成的文件输出目录。

    • “SampleGenerationFiles”——MATLAB示例文件用于生成c++库文件示例。有关更多信息,请参见示例驱动文件创建

    • “详细”——国旗显示进度信息指示编译器输出在构建过程中。

  4. 使用的构建c++共享库compiler.build.cppSharedLibrary函数。使用名称-值参数添加一个示例文件和指定库名和接口API。

    buildResults = compiler.build.cppSharedLibrary (appFile,“LibraryName”,“libmatrix”,“界面”,“mwarray”,“SampleGenerationFiles”,“addmatrixSample1.m”);

    compiler.build.Results对象buildResults包含在构建信息类型,生成的文件,并构建选项。

  5. 在一个文件夹命名为函数生成以下libmatrixcppSharedLibrary在当前工作目录中:

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

    • GettingStarted.html——HTML文件,其中包含的信息集成共享库。

    • libmatrix.cpp——c++源代码文件。

    • libmatrix.def- - -模块-定义文件提供的链接器模块信息。

    • libmatrix.dll动态链接库文件。

    • libmatrix.exports——出口文件,其中包含所有非静态的函数名。

    • libmatrix.h——c++头文件。

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

    • mccExcludedFiles.log日志文件,包含任何工具箱函数的列表,并不包括在应用程序。不受支持的功能的信息,请参阅金宝appMATLAB编译器限制

    • 固定——文本文件,其中包含包装信息。

    • requiredMCR下载188bet金宝搏Products.txt——文本文件,其中包含产品id所需的产品下载188bet金宝搏MATLAB运行时运行该应用程序。

    • unresolvedSymbols.txt——文本文件,其中包含的信息未解决符号。

    请注意

    不包括生成的库MATLAB运行时或一个安装程序。创建一个安装程序使用buildResults对象,看到compiler.package.installer

实现c++ mwArray API与驱动应用程序共享库

在包装你的c++共享库,你可以叫他们从c++应用程序。c++应用程序创建使用示例生成c++驱动程序代码在包装。c++驱动程序代码调用c++共享库,它是基于您所选择的示例MATLAB文件在之前的设置步骤。

也解释了这些步骤GettingStarted.html文件中for_redistribution_files_only文件夹中。在开始之前,确保你安装和配置MATLAB运行时,你有一个c++编译器安装

  1. 复制和粘贴c++驱动代码生成的文件addmatrixSample1_mwarray.cppfor_redistribution_files_only \样品文件夹的for_redistribution_files_only文件夹创建共享库时创建。

  2. 使用系统命令行导航到for_redistribution_files_only文件夹复制生成的示例c++驱动代码文件。

  3. 编译和链接应用程序使用mbuild在系统命令提示符。

    mbuild addmatrixSample1_mwarray。cpp libmatrix.lib
  4. 从系统命令提示符下,运行应用程序。如果使用示例MATLAB代码的包装步骤,该应用程序应返回相同的MATLAB代码的输出结果。

    addmatrixSample1_mwarray.exe
    2 8 14 4 10 16 6 12 18

另请参阅

||

相关的话题