主要内容

创建一个通用的COM组件MATLAB代码

金宝app支持平台:窗户®

这个例子展示了如何创建一个通用的COM组件使用MATLAB®功能和集成到一个应用程序。目标系统不需要MATLAB的执照副本。

先决条件

  • 确认您已经安装了Windows 10 SDK工具包。有关详细信息,请参见Windows SDK 10

  • 确认您已经安装了MinGW-w64。从MathWorks安装文件交换,请参阅MATLAB支金宝app持MinGW-w64 C / c++编译器

    以确保MATLAB检测10 Windows SDK工具包和MinGW-w64,使用以下命令:

    mbuild设置客户机mbuild_com

  • 确认你有微软®Visual Studio®安装。

  • 最终用户必须有一个安装MATLAB运行时运行该应用程序。有关详细信息,请参见安装和配置MATLAB运行时

    出于测试目的,您可以使用一个安装MATLAB代替MATLAB运行时

创建函数MATLAB

在MATLAB中,检查你想要的MATLAB代码打包。对于这个示例,开放makesquare.m位于matlabroot\工具箱\ dotnetbuilder \ \和例子版本\ COM \ MagicSquareExample \ MagicSquareComp

函数y y = makesquare (x) =魔法(x);

在MATLAB命令提示符,输入makesquare (5)

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

创建通用的COM组件使用库编译器应用程序

功能打包成一个COM组件使用库的编译器应用。另外,如果你想创建一个COM组件从MATLAB命令窗口使用编程方法,明白了使用compiler.build.COMComponent创建COM组件

  1. MATLAB应用程序选项卡,最右边的应用程序部分,单击箭头。在应用程序部署,点击库的编译器。在MATLAB编译器项目窗口中,单击通用的COM组件

    或者,你可以打开库的编译器应用程序通过输入libraryCompiler在MATLAB提示。

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

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

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

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

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

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

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

      请注意

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

  4. 库名称领域,取代makesquareMagicSquareComp

  5. 验证中定义的函数makesquare.m映射到Class1

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

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

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

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

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

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

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

  • 额外的运行时设置——特定于平台的控制选项生成的可执行文件。看到额外的运行时设置

打包应用程序

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

  1. 点击

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

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

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

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

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

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

创建COM组件使用compiler.build.COMComponent

作为替代库的编译器应用,您可以创建一个COM组件使用编程方法。如果您已经创建了一个组件使用库的编译器,请参阅集成到COM应用程序

  1. 保存文件的路径makesquare.m位于matlabroot\工具箱\ dotnetbuilder \ \和例子版本\ COM \ MagicSquareExample \ MagicSquareComp。例如,如果您正在使用Visual Studio版本15日类型:

    appFile = fullfile (matlabroot,“工具箱”,“dotnetbuilder”,“例子”,“VS15”,“COM”,“MagicSquareExample”,“MagicSquareComp”,“makesquare.m”);
  2. 构建COM组件使用compiler.build.comComponent函数。使用名称-值参数来指定组件名和类名。

    buildResults = compiler.build.comComponent (appFile,“ComponentName”,“MagicSquareComp”,“名称”,“Class1”);

    您可以指定附加选项compiler.build命令通过使用名称-值参数。有关详细信息,请参见compiler.build.comComponent

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

    函数生成下列文件在一个文件夹命名MagicSquareCompcomComponent在当前工作目录中:

    • magicsquare.def

    • magicsquare.rc

    • magicsquare_1_0.dll

    • 固定

    • requiredMCR下载188bet金宝搏Products.txt

    • unresolvedSymbols.txt

    • Class1_com.cpp——c++源代码文件,定义了类。

    • Class1_com.hpp——c++头文件定义了类。

    • dlldata.c- C源代码文件,其中包含入口点和数据结构类工厂所需的DLL。

    • GettingStarted.html——HTML文件,其中包含的步骤安装COM组件。

    • included金宝appSupportPackages.txt——文本文件,其中包含的信息包括支持包。金宝app

    • MagicSquareComp.def——模块定义文件,它定义了函数包括DLL导出表中。

    • MagicSquareComp.rc——资源脚本文件描述了组件所使用的资源。

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

    • MagicSquareComp_dll.cpp——c++源代码文件,其中包含helper函数。

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

    • MagicSquareComp_idl.idl——接口定义语言文件。

    • MagicSquareComp_idl.tlb——类型库文件,其中包含关于COM对象属性和方法的信息。

    • MagicSquareComp_idl_i.c- C源代码文件,其中包含的iid和clsid IDL接口。

    • MagicSquareComp_idl_p.c- C源代码文件,其中包含代理存根代码的IDL接口。

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

    • mwcomtypes.h——c++头文件包含定义的接口。

    • mwcomtypes_i.c- C源代码文件,其中包含iid clsid。

    • mwcomtypes_p.c- C源代码文件,其中包含代理存根代码。

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

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

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

    请注意

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

集成到COM应用程序

将您的COM组件集成到一个应用程序,看看创建Microsoft Visual Basic项目

另请参阅

|||

相关的话题