创建一个通用的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组件。
在MATLAB应用程序选项卡,最右边的应用程序部分,单击箭头。在应用程序部署,点击库的编译器。在MATLAB编译器项目窗口中,单击通用的COM组件。
或者,你可以打开库的编译器应用程序通过输入
libraryCompiler
在MATLAB提示。在库的编译器应用项目窗口中,指定你想要的文件MATLAB应用程序的部署。
在导出功能将来发布的部分,点击。
在添加文件窗口,浏览文件夹,并选择你想要的功能包。点击开放。
导出函数的函数添加到列表的文件。重复这一步骤将多个文件打包在同一个应用程序中。
在包装选项将来发布的部分,决定是否包括MATLAB运行时安装程序在生成的应用程序通过选择其中一个选项:
运行时从web下载——生成一个下载的安装程序MATLAB运行时部署和安装以及MATLAB应用程序。您可以指定安装程序的文件名。
运行时包含在包——包括生成一个应用程序MATLAB运行时安装程序。您可以指定安装程序的文件名。
请注意
第一次您选择此选项,提示您下载MATLAB运行时安装程序。
在库名称领域,取代
makesquare
与MagicSquareComp
。验证中定义的函数
makesquare.m
映射到Class1
。
自定义应用程序和它们的外观
在库的编译器应用程序,您可以自定义安装程序,自定义您的应用程序,并添加更多关于应用程序的信息。
图书馆信息——关于部署的应用程序的信息。你也可以定制应用程序通过改变应用程序的外观图标和闪屏。生成安装程序使用这些信息来填充已安装的应用程序的元数据。看到自定义安装程序。
额外的安装选项——默认安装路径生成安装程序和自定义标识的选择。看到更改安装路径。
你的图书馆运行所需文件——所需的附加文件生成的应用程序运行。这些文件包括在生成的应用程序的安装程序。看到管理所需的文件在编译器项目。
文件为您的终端用户安装——文件安装您的应用程序。
看到指定文件的安装与应用程序。
额外的运行时设置——特定于平台的控制选项生成的可执行文件。看到额外的运行时设置。
打包应用程序
当你选择完你的包装选择,保存库的编译器项目和生成打包应用程序。
点击包。
保存项目对话框中,指定位置保存项目。
在包对话框,确认打开流程完成时输出文件夹被选中。
包装过程完成时,检查目标文件夹中生成的输出。
三个文件夹生成:
for_redistribution
,for_redistribution_files_only
,for_testing
。关于生成的文件的更多信息在这些文件夹,看到的文件生成后包装MATLAB函数。
日志文件
PackagingLog.html
包含包装的结果。
创建COM组件使用compiler.build.COMComponent
作为替代库的编译器应用,您可以创建一个COM组件使用编程方法。如果您已经创建了一个组件使用库的编译器,请参阅集成到COM应用程序。
保存文件的路径
makesquare.m
位于
。例如,如果您正在使用Visual Studio版本15日类型:matlabroot
\工具箱\ dotnetbuilder \ \和例子版本
\ COM \ MagicSquareExample \ MagicSquareCompappFile = fullfile (matlabroot,“工具箱”,“dotnetbuilder”,“例子”,…“VS15”,“COM”,“MagicSquareExample”,“MagicSquareComp”,“makesquare.m”);
构建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
——文本文件,其中包含的信息包括支持包。金宝appMagicSquareComp.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项目。
另请参阅
libraryCompiler
|compiler.build.comComponent
|世纪挑战集团
|deploytool