MATLAB 2018b 安装 mexopencv (VS 2017 编译)
之前电脑上装的是MATLAB 2016b, 没办法识别VS 2017, 虽然官方说有补丁解决这个问题, 但还是下了最新的2018b. 2018b 识别VS 2017 是没问题了, 但在使用mexopencv.make()命令时还是报错
Error using mex
Unknown MEX argument '-R2017b-largeArrayDims'.
Error in mexopencv.make (line 97)
if ~opts.dryrun, eval(cmd); end
字面意思看就程序不能识别字段 ‘-R2017b-largeArrayDims’. 这种情况第一反应是把make.m中相关语句的2017直接改成2018,但是无效, 还是报一样的错误.
于是后面仔细阅读程序后又试了另外一种方法, 找到make.m的275~281行(如下所示), 这一段是判断MATLAB版本信息, 然后在’-largeArrayDims’ 前加上’-R2017b’, 注释掉这一段, 则字段就会保持在’-largeArrayDims’ , 这才是2018b认识的字段, 重新执行make.m, 程序顺利运行.
% real/imaginary storage format for complex arrays
% if ~mexopencv.isOctave() && ~verLessThan('matlab', '9.4')
% % keep using the "separate complex storage", as opposed to the
% % "interleaved complex storage" introduced in R2017a
% % (see MX_HAS_INTERLEAVED_COMPLEX)
% mex_flags = ['-R2017b' mex_flags];
% end
安装mexopencv时OpenCV, MATLAB, 编译器的版本都要对应起来, 指不定哪里就报错了. 作为一名新手, 把自己碰的壁在这里分享一下, 希望能够有所帮助.