这个例子演示了如何使用cmake编译一个支持OpenMP的Matlab MEX文件。金宝app
编译MEX需要cmake。
要在Linux下编译测试MEX,
首先将MATLAB_ROOT环境变量设置为您安装的matlab路径,
例如'export MATLAB_ROOT=/usr/local/MATLAB/R2012b',
然后,简单的做
mkdir构建
cd构建
cmake . . / src
使
制作安装
要在Windows下编译测试MEX,
首先将MATLAB_ROOT环境变量设置为您安装的matlab路径,
然后,根据安装的编译器(如MSVC)使用cmake或cmake-gui生成构建项目,
然后,使用此编译器生成生成的项目。
测试MEX源代码位于/src/openmpmex/openmpAdd目录下。默认情况下,编译的测试MEX 'openmpAdd'将安装到/bin中。C=openmpAdd(A,B)基本上是对一维或二维矩阵A和B做一个元素一个元素的加法,使用两个线程返回矩阵C。
要添加新的MEX源代码,例如openmpXXX.cpp,只需这样做
1.在/src/openmpmex下添加一个新的文件夹'openmpXXX'
2.添加一行'add_subdirectory(openmpXXX)'到CMakeLists.txt目录下/src/openmpmex
3.将CMakeLists.txt文件拷贝到/src/openmpmex/openmpAdd目录下
4.在复制的CMakeLists.txt中更改第一行设置(CPP_FILE openmpXXX)
5.按照上面描述的步骤进行编译
引用作为
方刘(2021)。OpenMP_MEX_CMake(//www.tatmou.com/matlabcentral/fileexchange/45501-openmp_mex_cmake), MATLAB中央文件交换。检索.