主要内容

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

设置 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++ 开发(WindowsLinuxmacOS

  1. 在 MATLAB 命令提示符下,通过执行以下命令配置用于 C++ 应用程序的 C++ 编译器:

    mbuild -setup
    除了配置 C++ 编译器之外,mbuild 实用工具还可以编译和链接集成 MATLAB Compiler SDK 生成的 C++ 共享库的应用程序。其选项文件指定了用于构建应用程序的编译器和链接器设置。

  2. 使用 MATLAB 编辑器编写 C++ 应用程序代码。使用 compiler.build.cppSharedLibrary 函数或 C++ 共享库编译器从 MATLAB 函数创建可部署的 C++ 共享库。

  3. 使用 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

  1. 在 Visual Studio 中创建一个新的 C++工程。如果正在创建 C++ 控制台应用程序,请选择 Console App。否则,请选择适当的工程类型。

  2. 通过右键点击 Solution Explorer 中的工程节点并选择 Properties 来访问工程属性。

  3. 验证工程属性页中的 Platform 是否设置为 x64

  4. 从 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

    延迟加载的 DLLLinker > Input 下,将以下库添加到 Delay Loaded Dlls 字段:
    libMatlabDataArray.dll

    不适用。

  5. 将头文件包含在您的 C++ 应用程序代码中。

    • 如果您使用 MATLAB Data API,请添加:

      #include "MatlabCppSharedLib.hpp"
    • 如果您使用 mwArray API,请添加:

      #include "<compilerSDKGeneratedLibrary>.h"

Visual Studio 中将设置导出为模板(可选)

一旦您为工程设置了所有必要的配置和依赖项,您就可以将其导出为模板以供将来重复使用。执行此操作的步骤如下:

  1. 在 Visual Studio 中打开工程后,从主菜单转到 Project > Export Template..将打开 Export Template Wizard

  2. 选择 Project Template 作为要创建的模板类型,然后点击 Next

  3. 选择当前工程导出为模板,然后点击 Next

  4. 提供模板名称、描述、图标和预览图像。您还可以选择模板输出位置并决定是否自动将模板导入 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 中,按照以下步骤操作:

  1. Solution Explorer 中右键点击工程并选择 Properties,打开 Property Pages 对话框。

  2. 在左侧栏的 Configuration Properties 下选择 Debugging

  3. 在右侧栏中找到 Environment 字段并输入:

    对于 MATLAB:

    PATH=C:\Program Files\MATLAB\R2025a\runtime\win64;%PATH%

    对于 MATLAB Runtime

    PATH=C:\Program Files\MATLAB\MATLAB Runtime\R2025a\runtime\win64;%PATH%

  4. 点击应用,然后点击确定关闭对话框。

    这些步骤可确保每次在 Visual Studio 中运行或调试应用程序时设置环境变量。

设置 Visual Studio Code 和 CMake 以进行 C++ 开发(WindowsLinuxmacOS

前提条件

配置 Visual Studio Code

  1. 打开您的终端或命令提示符。

  2. 导航到您想要创建工程的位置并创建一个新目录。

    mkdir MyCppMatlabProject
    cd MyCppMatlabProject
  3. 在打开当前目录的情况下启动 Visual Studio Code

    code .

    如果您收到错误提示 code 无法识别,您可能需要将 Visual Studio Code 添加到系统 PATH 或使用 code 可执行文件的完整路径。

  4. 您可以直接从终端或在 Visual Studio Code 内部创建新的源文件。

  5. 通过编辑 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" 替换为头文件的实际目录路径。这确保编译器可以定位必要的头文件。

     c_cpp_properties.json

  6. 通过编辑 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" 替换为实际目录路径。

     launch.json

配置 CMake

在工程目录中创建一个 CMakeLists.txt 文件,其内容如下:

 CMakeLists.txt

编译

  1. Ctrl+Shift+P(或 macOS 上的 Cmd+Shift+P)打开 Command Palette

  2. 类型 CMake:建造并从列表中选择它。

其他开发环境

为了使用其他 C++ 开发环境,您需要知道在编译期间要包含哪些附加文件和库。建议您首先使用 MATLAB 中的 mbuild 函数以详尽模式编译您的 C++ 应用程序。这将显示您需要在其他开发环境中包含的所有文件。

相关文件的位置

Windows

MATLAB

  • C:\Program Files\MATLAB\R2025a\extern\include

  • C:\Program Files\MATLAB\R2025a\extern\lib\win64\<compiler>

MATLAB Runtime

  • C:\Program Files\MATLAB\MATLAB Runtime\R2025a\extern\include

  • C:\Program Files\MATLAB\MATLAB Runtime\R2025a\extern\lib\win64\<compiler>

Linux

MATLAB

  • /usr/local/MATLAB/R2025a/extern/include

MATLAB Runtime

  • /usr/local/MATLAB/MATLAB_Runtime/R2025a/extern/include

macOS

MATLAB

  • /Applications/MATLAB_R2025a.app/extern/include

MATLAB Runtime

  • /Applications/MATLAB/MATLAB_Runtime/R2025a/extern/include

测试环境

您可以根据用于生成 C++ 工件的已安装 MATLAB 版本或 MATLAB Runtime 测试您的 C++ 应用程序。但是,在部署期间,您必须使用 MATLAB Runtime

另请参阅

主题