报错:
错误使用 mex' 使用了 '-R2018a' 进行编译并与 '-R2017b' 链接在一起。 有关详细信息,请参阅 MEX 文件使用了一个 API 进行编译并与另一个 API 链接在一起。
是因为Matlab R2018a 没有使用 -largeArrayDims,
将文件中的 largeArrayDims 改为 lmwblas 即可
flags.mexcc = horzcat(flags.cc, ...
{'-lmwblas'}, ... % % 原来为 largeArrayDims
{['CXXFLAGS=$CXXFLAGS ' strjoin(flags.ccpass)]}, ...
{['CXXOPTIMFLAGS=$CXXOPTIMFLAGS ' strjoin(flags.ccoptim)]}) ;
if ~ispc, flags.mexcc{end+1} = '-cxx'; end
% mex: compile GPU
flags.mexcu= horzcat({'-f' mex_cuda_config(root)}, ...
flags.cc, ...
{'-lmwblas'}, ... % largeArrayDims
{['CXXFLAGS=$CXXFLAGS ' quote_nvcc(flags.ccpass) ' ' strjoin(flags.nvccpass)]}, ...
{['CXXOPTIMFLAGS=$CXXOPTIMFLAGS ' quote_nvcc(flags.ccoptim)]}) ;
% mex: link
flags.mexlink = horzcat(flags.cc, flags.link, ...
{'-lmwblas'}, ... % largeArrayDims lmwblas
{['LDFLAGS=$LDFLAGS ', strjoin(flags.linkpass)]}, ...
{['LINKLIBS=$LINKLIBS ', strjoin(flags.linklibs)]}) ;