针对特定目标的编译器,用于 MATLAB 代码部署
从 R2025a 版本开始,MATLAB® Compiler™ 和 MATLAB Compiler SDK™ 包含针对特定目标的编译器 App,用于打包 MATLAB 代码。这些新应用程序将取代原有的应用程序编译器、Web App 编译器、库编译器和 Production Server 编译器应用程序。更新后的设计为每个部署目标提供了一个专用 App,并将这些 App 与 MATLAB 工程整合在一起,以实现更好的组织和依赖管理,从而简化了部署工作流。
要访问新的编译器 App:
点击 MATLAB 中的 App 选项卡。
在下拉菜单中导航至应用程序部署部分。
选择与您的部署目标对应的编译器 App。

目标特定编译器概述
每个编译器 App 都包含一个定制的用户界面,称为编译器任务,用于配置和打包 MATLAB 代码以适应特定的部署目标。首次使用这些 App 时,您将按照引导工作流熟悉配置过程。了解流程后,您可以禁用引导工作流,以获得更快捷的体验。
MATLAB 工程整合
部署工程现已整合到 MATLAB 工程中,简化了打包配置和依赖关系的处理。依赖项在 MATLAB 工程中自动管理,最大限度地减少了手动设置的需求,降低了出错的可能性。打包配置与其他工程组件一起作为编译器任务进行组织,确保所有相关资产都存储在单一的集中位置。
编译器任务
创建目标特定部署工件的第一步是创建编译任务。编译器任务是配置部署不同方面的主要机制。
创建编译器任务
要创建一个编译器任务:
转到 App 选项卡,找到与部署目标相对应的 App。
点击该 App 打开创建编译器任务对话框。
选择以下选项之一:
开始一个新工程并创建一个编译任务--MATLAB 为您的目标创建一个新工程和一个编译任务。
将编译器任务添加到最近的工程 – 将新的编译器任务添加到最近打开的现有工程。
浏览工程并添加编译器任务 – 选择一个现有工程,并向其中添加编译器任务。
如果要部署的 MATLAB 文件已包含在工程中,请打开工程,转到工程选项卡,在工具部分中,点击编译器任务管理器。选择部署目标,MATLAB 将创建一个具有对应名称的编译任务,并在文档区域中打开它。
管理编译器任务
一个工程可以有多个编译任务,每个任务与不同的部署目标相关联。例如:
一个编译任务可以将一个 MATLAB 应用程序部署为独立应用程序。
另一个编译器任务可以将相同的应用程序作为 Web 应用程序进行部署。
要查看工程中的所有编译器任务,请打开编译器任务管理器。
升级工程
当您打开在 R2025a 之前版本中创建的部署工程时,MATLAB 会自动将其升级为 MATLAB 工程。在此过程中,系统会创建一个针对目标的编译器任务,并将所有现有依赖项转移到新工程中。
部署应用的迁移
| 部署目标 | 编译器 (R2025a 之前) | 编译器 (从 R2025a 版本开始) |
|---|---|---|
| 独立应用程序 | 应用程序编译器 | 独立应用程序编译器 |
| Excel 加载项 | 库编译器 | Excel 加载项编译器 |
| 可部署存档 (Hadoop®) | 库编译器 | 没有专用 App。使用 mcc 命令。 |
| Spark™ | 没有专用 App。使用 mcc 命令。 | 没有专用 App。使用 mcc 命令。 |
| Web App | Web App 编译器 | Web App 编译器 |
| C 共享库 | 库编译器 | C 共享库编译器 (MATLAB Compiler SDK) |
| C++ 共享库 | 库编译器 | C++ 共享库编译器 (MATLAB Compiler SDK) |
| 泛型 COM 组件 | 库编译器 | COM 组件编译器 (MATLAB Compiler SDK) |
| Java® 包 | 库编译器 | Java 包编译器 (MATLAB Compiler SDK) |
| .NET 程序集 | 库编译器 | .NET 程序集编译器 (MATLAB Compiler SDK) |
| Python® 包 | 库编译器 | Python 包编译器 (MATLAB Compiler SDK) |
| 可部署存档(MATLAB Production Server™) | Production Server 编译器 | Production Server 存档编译器 (MATLAB Compiler SDK) |
| 可部署存档,与 Excel 集成(MATLAB Production Server) | Production Server 编译器 | 无专用。使用 compiler.build.excelClientForProductionServer (MATLAB Compiler SDK) 函数。 |