Windows下MatConvNet编译 mex setup中vl_compilenn时cl.exe缺失及vl_imreadjpeg出错遇到问题

使用的环境

Windows 10 + Matlab R2019a + VS2017 + MatConvNet-1.0-beta21 + CPU模式

因为不需要使用显卡和CUDA,直接下载安装包,添加路径

执行命令

mex -setup C++

addpath matlab

vl_compilenn


错误信息如下:

解决办法

在VS的根目录下搜cl.exe文件   将其复制到matconvnet文件夹下,再次编译 

又遇到错误:

上面的是错误信息开头部分。

上面的是错误信息结尾部分。

只看这两部分感觉摸不着头脑。不知道SSSE3是什么鬼,只能看出是编译vl_imreadjpeg出了问题。

只能去查看中间部分的错误信息,发现大多都是warning,导致编译终止的error只有两个

最后网上搜了各种资料,是文件imread_helpers.hpp的第523行出了问题,说是宏冲突。

解决办法

给出问题的地方,即std::min加上括号即可,即变成(std::min)即可。如下图。

重新运行vl_compilenn,编译全部通过。 

原文地址:https://www.cnblogs.com/SakuraYuki/p/13341495.html