Main Content

编译 C++ Engine 程序的要求

支持的编译器

使用支持 C++11 的编译器。有关支持的编译器的最新列表,请参阅支持和兼容的编译器

使用 mex 命令进行编译

您可以使用 MATLAB® 编辑器编写您的引擎应用程序代码,并运行 mex 命令编译它。要为 C++ Engine 应用程序设置编译器,请键入:

mex -setup -client engine C++

要编译您的 C++ Engine 程序 MyEngineCode.cpp,请键入:

mex -client engine MyEngineCode.cpp 

要测试您的设置,请参阅Test Your C++ Build Environment

使用 IDE 进行编译

要使用集成开发环境 (IDE)(如 Microsoft® Visual Studio®Xcode)编写源代码,请使用以下库和包含文件来设置编译 C++ Engine 应用程序的环境。引擎应用程序需要引擎库 libMatlabEngine、MATLAB 数据数组库 libMatlabDataArray 和支持包含文件。

在以下路径设定中,将 matlabroot 替换为 MATLAB matlabroot 命令返回的路径。

Windows

在这些路径设定中,将 compiler 替换为 microsoftmingw64

  • 引擎库 - matlabroot\extern\lib\win64\compiler\libMatlabEngine.lib

  • MATLAB 数据数组库 - matlabroot\extern\lib\win64\compiler\libMatlabDataArray.lib

macOS

macos 替换为 maca64(对于使用 Apple 芯片的 macOS)或替换为 maci64(对于使用 Intel®macOS)。

  • 引擎库 - matlabroot/extern/bin/macos/libMatlabEngine.dylib

  • MATLAB 数据数组库 - matlabroot/extern/bin/macos/libMatlabDataArray.dylib

Linux

  • 引擎库 - matlabroot/extern/bin/glnxa64/libMatlabEngine.so

  • MATLAB 数据数组库 - matlabroot/extern/bin/glnxa64/libMatlabDataArray.so

其他库 - pthread

例如,要编译 myEngineApp.cpp,请使用下列库。将 matlabroot 替换为 MATLAB matlabroot 命令返回的路径。

g++ -std=c++11 -I matlabroot/extern/include/ -L matlabroot/extern/bin/glnxa64/ 
    -pthread myEngineApp.cpp -lMatlabDataArray -lMatlabEngine

引擎 Include 文件

头文件包含函数声明以及您在 API 库中访问的例程的原型。这些文件位于 matlabroot/extern/include 文件夹中,并且与用于 Windows®macOS 和 Linux® 系统的文件相同。引擎应用程序使用:

  • MatlabEngine.hpp - C++ Engine API 的定义

  • MatlabDataArray.hpp - C++ 和 MATLAB 数据之间的泛型接口的定义

MATLAB 数据数组是类和 API 的集合,提供外部数据和 MATLAB 之间的泛型接口。

运行时环境

要运行您的应用程序,请将以下环境变量之一设置为指定的路径。

操作系统变量路径

Windows

PATH

matlabroot\extern\bin\win64

采用 Apple 芯片的 macOS

DYLD_LIBRARY_PATH

matlabroot/extern/bin/maca64

采用 Intel 的 macOS

DYLD_LIBRARY_PATH

matlabroot/extern/bin/maci64

Linux

LD_LIBRARY_PATH

matlabroot/extern/bin/glnxa64:matlabroot/sys/os/glnxa64

另请参阅

|

相关主题