金宝app支持平台:窗户®,Linux®,Mac
这个例子展示了如何创建一个从MATLAB c++共享库®函数。你可以将生成的库集成到一个c++应用程序。这个示例还显示了如何调用c++共享库从c++应用程序。目标系统不需要MATLAB的执照副本。
在MATLAB中,检查你想要的MATLAB代码打包。对于这个示例,开放addmatrix.m
位于
。matlabroot
\走读生\ \ compilersdk \ c_cpp \矩阵示例
在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
在MATLAB应用程序选项卡,最右边的应用程序部分,单击箭头。在应用程序部署,点击库的编译器。
或者,您可以打开库的编译器应用MATLAB命令提示符下输入:
libraryCompiler
在类型将来发布的部分,点击c++共享库。
在库的编译器应用项目窗口中,指定你想要的文件MATLAB应用程序的部署。
在导出功能将来发布的部分,点击。
在添加文件窗口,浏览文件夹,并选择你想要的功能包。点击开放。
导出函数的函数添加到列表的文件。重复这一步骤将多个文件打包在同一个应用程序中。
在这个例子中,导航到
并选择matlabroot
\走读生\ \ compilersdk \ c_cpp \矩阵示例addmatrix.m
。
在包装选项将来发布的部分,决定是否包括MATLAB运行时安装程序在生成的应用程序通过选择其中一个选项:
运行时从web下载——生成一个下载的安装程序MATLAB运行时部署和安装以及MATLAB应用程序。您可以指定安装程序的文件名。
运行时包含在包——包括生成一个应用程序MATLAB运行时安装程序。您可以指定安装程序的文件名。
请注意
第一次您选择此选项,提示您下载MATLAB运行时安装程序。
的库名称字段是自动填充addmatrix
打包的共享库的名称。重命名它为libmatrix
。相同名称的后面是通过共享库的实现。
添加MATLAB文件生成样本c++驱动程序文件。尽管c++不需要驱动程序文件来创建共享库,用于演示如何实现c++ mwArray API与驱动应用程序共享库。
在样品部分中,选择创建新的样本,然后单击addmatrix.m
。MATLAB文件打开编辑。为应用程序定义了必要的输入变量,保存文件,并返回到库的编译器应用。和限制的更多信息,见示例驱动文件创建。
编辑的MATLAB文件打开以下值:
%示例脚本演示执行函数= addmatrix (a1, a2)a1 = [1 4 7;2 5 8;3 6 9];%初始化a1在这里a2 = a1;%初始化a2在这里一个= addmatrix (a1, a2);
保存文件,并返回到库的编译器应用。和限制的更多信息,见示例驱动文件创建。
选择类型的API生成c++共享库。在API的选择部分在底部,选择创建使用mwArray API的接口。有关更多信息,请参见API选择c++共享库。
在库的编译器应用程序,您可以自定义安装程序,自定义您的应用程序,并添加更多关于应用程序的信息。
图书馆信息——关于部署的应用程序的信息。你也可以定制应用程序通过改变应用程序的外观图标和闪屏。生成安装程序使用这些信息来填充已安装的应用程序的元数据。看到自定义安装程序。
额外的安装选项——默认安装路径生成安装程序和自定义标识的选择。看到更改安装路径。
你的图书馆运行所需文件——所需的附加文件生成的应用程序运行。这些文件包括在生成的应用程序的安装程序。看到管理所需的文件在编译器项目。
文件为您的终端用户安装——文件安装您的应用程序。
看到指定文件的安装与应用程序。
当你选择完你的包装选择,保存库的编译器项目和生成打包应用程序。
点击包。
保存项目对话框中,指定位置保存项目。
在包对话框,确认打开流程完成时输出文件夹被选中。
包装过程完成时,检查目标文件夹中生成的输出。
三个文件夹生成:for_redistribution
,for_redistribution_files_only
,for_testing
。
关于生成的文件的更多信息在这些文件夹,看到的文件生成后包装MATLAB函数。
日志文件PackagingLog.html
包含包装的结果。
compiler.build.cppSharedLibrary
请注意
如果您已经创建了一个独立的应用程序使用库的编译器应用程序,您可以跳过本节。然而,如果你想知道如何创建一个c++共享库的MATLAB命令窗口使用编程方法,遵循这些指示。
保存的路径addmatrix.m
文件位于
。matlabroot
\走读生\ \ compilersdk \ c_cpp \矩阵示例
appFile = fullfile (matlabroot,“外来的”,“例子”,“compilersdk”,“c_cpp”,“矩阵”,“addmatrix.m”);
将下面的代码保存在一个示例文件命名addmatrixSample1.m
:
a1 = [1 4 7;2 5 8;3 6 9];a2 = a1;一个= addmatrix (a1, a2);
可以指定附加选项compiler.build
命令通过一个或多个下列名称参数。
“AdditionalFiles”
——附加文件路径中包含共享库。
“AutoDetectDataFiles”
包括数据文件自动——国旗。
“DebugBuild”
——国旗启用调试符号。
“界面”
——指定为接口API“matlab-data”
(默认)或“mwarray”
。有关更多信息,请参见API选择c++共享库。
“LibraryName”
——生成的库的名称。
“OutputDir”
——路径包含生成的文件输出目录。
“SampleGenerationFiles”
——MATLAB示例文件用于生成c++库文件示例。有关更多信息,请参见示例驱动文件创建。
“详细”
——国旗显示进度信息指示编译器输出在构建过程中。
使用的构建c++共享库compiler.build.cppSharedLibrary
函数。使用名称-值参数添加一个示例文件和指定库名和接口API。
buildResults = compiler.build.cppSharedLibrary (appFile,…“LibraryName”,“libmatrix”,…“界面”,“mwarray”,…“SampleGenerationFiles”,“addmatrixSample1.m”);
的compiler.build.Results
对象buildResults
包含在构建信息类型,生成的文件,并构建选项。
在一个文件夹命名为函数生成以下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++共享库,你可以叫他们从c++应用程序。c++应用程序创建使用示例生成c++驱动程序代码在包装。c++驱动程序代码调用c++共享库,它是基于您所选择的示例MATLAB文件在之前的设置步骤。
也解释了这些步骤GettingStarted.html
文件中for_redistribution_files_only
文件夹中。在开始之前,确保你安装和配置MATLAB运行时,你有一个c++编译器安装。
复制和粘贴c++驱动代码生成的文件addmatrixSample1_mwarray.cpp
从for_redistribution_files_only \样品
文件夹的for_redistribution_files_only
文件夹创建共享库时创建。
使用系统命令行导航到for_redistribution_files_only
文件夹复制生成的示例c++驱动代码文件。
编译和链接应用程序使用mbuild
在系统命令提示符。
mbuild addmatrixSample1_mwarray。cpp libmatrix.lib
从系统命令提示符下,运行应用程序。如果使用示例MATLAB代码的包装步骤,该应用程序应返回相同的MATLAB代码的输出结果。
addmatrixSample1_mwarray.exe
2 8 14 4 10 16 6 12 18
libraryCompiler
|世纪挑战集团
|deploytool