主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

使用 COM 组件编译器创建 COM 组件

支持的平台:Windows®、Linux®Mac

此示例展示了如何使用 COM 组件编译器将 MATLAB® 函数打包到 COM 组件中。您可以通过 COM 应用程序调用该函数。

在 R2025a 之前的版本中: 使用库编译器创建一个 COM 组件,如将幻方集成到 COM 应用程序中 (R2024b)

前提条件

  • 请确认已安装 Windows 10 或更高版本的 SDK 工具包。有关详细信息,请参阅 Windows SDK

  • 验证您是否已安装 MinGW-w64。要从 MathWorks® 文件交换中心安装它,请参阅 MATLAB 对 MinGW-w64 C/C++/Fortran 编译器的支持

    为了确保 MATLAB 能够检测到 Windows 10 SDK 套件和 MinGW-w64,请使用以下命令。

    mbuild -setup -client mbuild_com

  • 验证您是否已安装 Microsoft® Visual Studio®

  • 最终用户必须安装 MATLAB Runtime 才能运行应用程序。有关详细信息,请参阅下载并安装 MATLAB Runtime

    出于测试目的,您可以使用安装的 MATLAB 来代替 MATLAB Runtime

创建 MATLAB 函数

在 MATLAB 中,编写您要部署的 MATLAB 程序。

对于此示例,按如下方式编写一个函数 magicsquare.m

function y = magicsquare(x)
y = magic(x);

在 MATLAB 命令提示符下,输入 magicsquare(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 组件编译器创建函数的编译任务。编译器任务允许您为特定部署目标编译工程中的文件。

要打开该 App,在 App 选项卡上,展开 App 图库。在应用程序部署部分,点击 COM 组件编译器

Application Deployment section of the Apps gallery

您还可以在 MATLAB 命令行窗口中使用 comComponentCompiler 函数打开该 App。

打开 App 后,“创建编译器任务”对话框会提示您将编译器任务添加到新的或现有 MATLAB 工程中。在此示例中,选择启动新工程并创建编译器任务,并创建一个名为 MakesquareProject 的新工程。有关创建和使用 MATLAB 工程的详细信息,请参阅创建工程

Create compiler task dialog box with the text 'compiler tasks must be associated with a MATLAB project. Projects can help you organize code and other development content.' The option 'Add compiler task to new project' is selected.

编辑器中打开了一个名为 COMComponent1 的新编译任务。您可以通过打开编译器任务管理器或转到管理任务选项卡并创建一个新的编译器任务来编译其他部署目标的代码。

指定编译选项

在打包之前,您可以为 COM 组件指定选项,以自定义构建和打包过程。例如,您可以对 MATLAB 代码进行混淆处理。

在此示例中,在编译器任务的导出的函数部分,点击添加导出的函数,然后选择 magicsquare.m。在“工程”面板中,该文件现在带有标签 DesignExported Function File

Exported file section of the compiler task with no file selected and a button labeled Add Exported Function

包信息部分,将字符串 MyCOMComponent 替换为 COM 组件的名称 MagicSquareComp

查看代码和打包 COM 组件

部署选项卡中,您可以显示部署脚本代码、打开部署设置以及打包组件。要查看包含有关构建和打包组件的说明的代码,请点击显示代码按钮。在右侧,一个窗口显示了一个部署脚本,其中包含与您的构建选项相对应的 compiler.build.comComponentcompiler.package.installer 函数。您可以通过点击导出编译脚本按钮将此代码转换为 MATLAB 脚本文件。运行生成的构建脚本与点击打包按钮等效。

Two buttons labeled Export Build Script and Build and Package

要创建 COM 组件,请点击打包

编译器会在工程文件夹中的 <compiler_task_name>/output 文件夹中生成文件。要为生成的文件选择不同的输出位置,请更新输出位置部分中的路径。

集成到 COM 应用程序中

要将 COM 组件集成到应用程序中,请参阅创建 Microsoft Visual Basic 工程

另请参阅

主题