代替在Matlab的命令行中编译MEX,另一种方法是使用CMake工具。使用CMake对于构建大型MEX项目或构建具有大量外部依赖项的MEX是有利的。这个例子是一个简单的演示如何轻松地使用CMake编译Matlab MEX。
要在Linux下编译测试MEX,
首先将MATLAB_ROOT环境变量设置为您安装的matlab路径,
例如'export MATLAB_ROOT=/usr/local/MATLAB/R2012b',
然后,简单的做
mkdir构建
cd构建
cmake . . / src
使
制作安装
要在Windows下编译测试MEX,
首先将MATLAB_ROOT环境变量设置为您安装的matlab路径,
然后,使用cmake或cmake-gui根据安装的编译器(如MSVC)生成生成项目,然后,使用该编译器生成生成的项目。
测试MEX源代码位于/src/ MEX /mexAdd下。默认情况下,编译后的测试MEX 'mexAdd'将安装到/bin中。C=mexAdd(A,B)基本上是对一维或二维矩阵A和B做一个元素一个元素的加法,返回矩阵C,没什么特别的。
要添加新的MEX源代码,例如'mexXXX.cpp',只需这样做
1.在/src/mex下添加一个新文件夹“mexXXX”
2.在/src/mex目录下的CMakeLists.txt中添加一行'add_subdirectory(mexXXX)
3.将CMakeLists.txt文件拷贝到/src/mex/mexAdd目录下
4.在复制的CMakeLists.txt中更改第一行设置(CPP_FILE mexXXX)
5.按照上面描述的步骤进行编译
还有另外两个例子
使用CMake构建带有CUDA支持的MEX万博1manbetx
//www.tianjin-qmedu.com/matlabcentral/fileexchange/45505-cudamexcmake
使用CMake构建带有OpenMP支持的MEX万博1manbetx
//www.tianjin-qmedu.com/matlabcentral/fileexchange/45501-openmpmexcmake
引用作为
方刘(2021)。MEX_CMake(//www.tianjin-qmedu.com/matlabcentral/fileexchange/45522-mex_cmake), MATLAB中央文件交换。检索.