设置 C++开发环境
要建立一个集成 MATLAB® 函数的 C++ 开发环境,用户需要一些工具。首先,需要 MATLAB 来编写函数。接下来,需要 MATLAB Compiler SDK™ 来从这些 MATLAB 函数创建可部署函数。为了将这些可部署函数与 C++ 应用程序集成,用户需要一个 C++ 开发环境。选项包括使用 MATLAB 本身进行跨平台 C++ 开发、在 Windows® 上使用 Microsoft® Visual Studio® 或使用 Visual Studio Code 和 CMake 进行跨多平台开发。
前提条件
编写您想要部署的 MATLAB 函数。
使用
compiler.build.cppSharedLibrary函数或 C++ 共享库编译器创建可部署的 C++ 共享库,其中包含 MATLAB 函数。
设置 MATLAB Desktop 进行 C++ 开发(Windows、Linux 和 macOS)
在 MATLAB 命令提示符下,通过执行以下命令配置用于 C++ 应用程序的 C++ 编译器:
除了配置 C++ 编译器之外,mbuild -setupmbuild实用工具还可以编译和链接集成 MATLAB Compiler SDK 生成的 C++ 共享库的应用程序。其选项文件指定了用于构建应用程序的编译器和链接器设置。使用 MATLAB 编辑器编写 C++ 应用程序代码。使用
compiler.build.cppSharedLibrary函数或 C++ 共享库编译器从 MATLAB 函数创建可部署的 C++ 共享库。使用
mbuild函数根据 MATLAB Compiler SDK C++ 共享库编译和链接您的 C++ 应用程序代码。mbuild <cppApplicationSourceCode>.cpp -v (MATLAB Data API) mbuild <cppApplicationSourceCode>.cpp <compilerSDKGeneratedLibrary>.lib -v (mwArray API)
设置 Microsoft Visual Studio 进行 C++ 开发(仅限 Windows)
在 Visual Studio 中创建一个新的 C++工程。如果正在创建 C++ 控制台应用程序,请选择 Console App。否则,请选择适当的工程类型。
通过右键点击 Solution Explorer 中的工程节点并选择 Properties 来访问工程属性。
验证工程属性页中的 Platform 是否设置为 x64。
从 Project Property 页的左侧窗格中,配置工程属性。
配置步骤 如果您使用 MATLAB 数据数组 如果您使用 mwArray 附加包含目录 在 C/C++ > General 下,将以下目录添加到 Additional Include Directories 字段:
如果使用 MATLAB 设置:
C:\Program Files\MATLAB\R2025a\extern\include如果使用 MATLAB Runtime 设置:
C:\Program Files\MATLAB\MATLAB Runtime\R2025a\extern\include在 C/C++ > General 下,将以下目录添加到 Additional Include Directories 字段:
如果使用 MATLAB 设置:
C:\Program Files\MATLAB\R2025a\extern\include如果使用 MATLAB Runtime 设置:
另外,添加包含生成的头文件C:\Program Files\MATLAB\MATLAB Runtime\R2025a\extern\include<compilerSDKGeneratedLibrary>.h的目录。附加库目录 在 Linker > General 下,将以下目录添加到 Additional Library Directories 字段:
如果使用 MATLAB 设置:
C:\Program Files\MATLAB\R2025a\extern\lib\win64\microsoft如果使用 MATLAB Runtime 设置:
C:\Program Files\MATLAB\MATLAB Runtime\R2025a\extern\lib\win64\microsoft在 Linker > General 下,将以下目录添加到 Additional Library Directories 字段:
如果使用 MATLAB 设置:
C:\Program Files\MATLAB\R2025a\extern\lib\win64\microsoft如果使用 MATLAB Runtime 设置:
另外,添加包含生成的头文件C:\Program Files\MATLAB\MATLAB Runtime\R2025a\extern\lib\win64\microsoft<compilerSDKGeneratedLibrary>.h的目录。附加依赖项 在 Linker > Input 下,将以下库添加到 Additional Dependencies 字段。
delayimp.lib libMatlabCppSharedLib.lib libMatlabDataArray.lib
在 Linker > Input 下,将以下库添加到 Additional Dependencies 字段。
<compilerSDKGeneratedLibrary>.lib mclmcrrt.lib
延迟加载的 DLL 在 Linker > Input 下,将以下库添加到 Delay Loaded Dlls 字段: libMatlabDataArray.dll
不适用。
将头文件包含在您的 C++ 应用程序代码中。
如果您使用 MATLAB Data API,请添加:
#include "MatlabCppSharedLib.hpp"
如果您使用
mwArrayAPI,请添加:#include "<compilerSDKGeneratedLibrary>.h"
在 Visual Studio 中将设置导出为模板(可选)
一旦您为工程设置了所有必要的配置和依赖项,您就可以将其导出为模板以供将来重复使用。执行此操作的步骤如下:
在 Visual Studio 中打开工程后,从主菜单转到 Project > Export Template..将打开 Export Template Wizard。
选择 Project Template 作为要创建的模板类型,然后点击 Next。
选择当前工程导出为模板,然后点击 Next。
提供模板名称、描述、图标和预览图像。您还可以选择模板输出位置并决定是否自动将模板导入 Visual Studio。填写这些详细信息后,点击 Finish。
Visual Studio 创建一个 .zip 文件,作为您的工程模板。如果您选择自动导入模板,则可以在 Visual C++ > My Templates 下的 New Project 对话框中使用此模板。
请注意,模板将包含所有工程文件和配置,但不包括外部依赖项。
在 Visual Studio 中设置环境变量
设置 CPPSHARED_BASE_CTF_PATH 环境变量
确保仅在生成 MATLAB 代码存档(.ctf 文件)后才遵循此过程。运行使用 MATLAB 代码存档的 C++ 应用程序时,应用程序需要识别存档的位置。您可以通过设置 CPPSHARED_BASE_CTF_PATH 环境变量来让该位置为人所知,并将其指向包含 .ctf 文件的目录。
在 Visual Studio 中,按照以下步骤操作:
在 Solution Explorer 中右键点击工程并选择 Properties,打开 Property Pages 对话框。
在左侧栏的 Configuration Properties 下选择 Debugging。
在右侧栏中找到 Environment 字段并输入:
CPPSHARED_BASE_CTF_PATH=<path to directory containing .ctf file>点击应用,然后点击确定关闭对话框。
这些步骤可确保每次在 Visual Studio 中运行或调试应用程序时设置环境变量。
设置 PATH 环境变量
为了确保您的应用程序能够找到必要的 MATLAB 或 MATLAB Runtime 库,您需要在 Visual Studio 中设置 PATH 环境变量。如果您想在 Visual Studio 中运行应用程序进行调试,这一点至关重要。
在 Visual Studio 中,按照以下步骤操作:
在 Solution Explorer 中右键点击工程并选择 Properties,打开 Property Pages 对话框。
在左侧栏的 Configuration Properties 下选择 Debugging。
在右侧栏中找到 Environment 字段并输入:
对于 MATLAB:
PATH=C:\Program Files\MATLAB\R2025a\runtime\win64;%PATH%对于 MATLAB Runtime:
PATH=C:\Program Files\MATLAB\MATLAB Runtime\R2025a\runtime\win64;%PATH%点击应用,然后点击确定关闭对话框。
这些步骤可确保每次在 Visual Studio 中运行或调试应用程序时设置环境变量。
设置 Visual Studio Code 和 CMake 以进行 C++ 开发(Windows、Linux 和 macOS)
前提条件
下载并安装 Visual Studio Code。
下载并安装 CMake(建议 3.14 或更高版本)。
安装 C++ 编译器。
Windows:MinGW 或 Microsoft C++ Build Tools。
Linux®:GCC
macOS:Xcode 命令行工具。
有关受支持的编译器的列表,请参阅 https://www.mathworks.com/support/requirements/supported-compilers.html。
安装 Visual Studio Code 扩展。
Microsoft 的 C/C++:此扩展提供 IntelliSense、调试和代码浏览等功能。
Microsoft 的 CMake 工具:此扩展提供 CMake 集成和构建支持。
配置 Visual Studio Code
打开您的终端或命令提示符。
导航到您想要创建工程的位置并创建一个新目录。
mkdir MyCppMatlabProject cd MyCppMatlabProject在打开当前目录的情况下启动 Visual Studio Code。
code .如果您收到错误提示
code无法识别,您可能需要将 Visual Studio Code 添加到系统 PATH 或使用code可执行文件的完整路径。您可以直接从终端或在 Visual Studio Code 内部创建新的源文件。
通过编辑
c_cpp_properties.json文件配置 IntelliSense 引擎以选择 MATLAB 特定的库。要在
includePath文件中设置c_cpp_properties.json设置,请将路径添加到includePath数组。格式如下:将"includePath": [ "${workspaceFolder}/**", "C:\\Program Files\\MATLAB\\R2025a\\extern\\include", "path\\to\\v2\\generic_interface\\header\\file\\directory" ]"path\\to\\v2\\generic_interface\\header\\file\\directory"替换为头文件的实际目录路径。这确保编译器可以定位必要的头文件。通过编辑
launch.json文件来配置调试器设置并指定存档文件(.ctf文件)的路径。要在
CPPSHARED_BASE_CTF_PATH文件中设置launch.json环境变量,请向environment数组中添加一个条目,指定存档(.ctf文件)目录的路径。格式如下:将"environment": [ { "name": "CPPSHARED_BASE_CTF_PATH", "value": "path\\to\\v2\\generic_interface\\ctf\\file\\directory" } ]"path\\to\\v2\\generic_interface\\ctf\\file\\directory"替换为实际目录路径。
配置 CMake
在工程目录中创建一个 CMakeLists.txt 文件,其内容如下:
编译
按 Ctrl+Shift+P(或 macOS 上的 Cmd+Shift+P)打开 Command Palette。
类型 CMake:建造并从列表中选择它。
其他开发环境
为了使用其他 C++ 开发环境,您需要知道在编译期间要包含哪些附加文件和库。建议您首先使用 MATLAB 中的 mbuild 函数以详尽模式编译您的 C++ 应用程序。这将显示您需要在其他开发环境中包含的所有文件。
相关文件的位置
| Windows | MATLAB
MATLAB Runtime
|
| Linux | MATLAB
MATLAB Runtime
|
| macOS | MATLAB
MATLAB Runtime
|
测试环境
您可以根据用于生成 C++ 工件的已安装 MATLAB 版本或 MATLAB Runtime 测试您的 C++ 应用程序。但是,在部署期间,您必须使用 MATLAB Runtime。
