目录
编译 C++ 引擎程序
支持的编译器
使用支持 C++11 的编译器。有关支持的编译器的最新列表,可以参考支持和兼容的编译器网站。
使用 mex 命令编译 .cpp 文件
如果安装了受支持的编译器之一,可以使用mex命令为 C++ 引擎应用程序设置编译器。当系统提供用于选择编译器的选项时,选择已安装的用于 C++ 的 MATLAB® 引擎 API 支持的编译器。
mex -setup -client engine C++
使用 MATLAB mex 命令编译 C++ 引擎程序。
mex -client engine MyEngineCode.cpp
一般要求
使用下列库、include 文件、环境变量为编译和运行 C++ 引擎应用程序设置环境。引擎应用程序需要引擎库 libMatlabEngine、MATLAB 数据数组库 libMatlabDataArray 和支持 include 文件。
在以下各节中,将 matlabroot 替换为 MATLAB matlabroot 命令返回的路径。
Windows 库
在这些路径设定中,将 compiler 替换为 microsoft 或 mingw64。
-
引擎库 - matlabroot\extern\lib\win64\compiler\libMatlabEngine.lib
-
MATLAB 数据数组库 - matlabroot\extern\lib\win64\compiler\libMatlabDataArray.lib
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
Mac 库
-
引擎库 - matlabroot/extern/bin/maci64/libMatlabEngine.dylib
-
MATLAB 数据数组库 - matlabroot/extern/bin/maci64/libMatlabDataArray.dylib
引擎 Include 文件
头文件包含函数声明以及在 API 库中访问的例程的原型。
这些文件位于 matlabroot/extern/include 文件夹中,并且与用于 Windows®、Mac 和 Linux® 系统的文件相同。引擎应用程序使用:
-
MatlabEngine.hpp - C++ 引擎 API 的定义
-
MatlabDataArray.hpp - MATLAB 数据数组的定义
MATLAB 数据数组是类和 API 的集合,提供外部数据和 MATLAB 之间的泛型接口。
运行时环境
下表列出了为各个平台添加的环境变量的名称和路径。
操作系统 | 变量 | 路径 |
---|---|---|
Windows |
|
|
64 位 Apple Mac |
|
|
64 位 Linux |
|
|