WIN10+VS2015+MATLAB+VLFeat工具箱配置
2018.08.13
网上所用的run(toolboxFilePath/vl_setup)完全不成功,报错:
Invalid MEX-file 'D:\codingtool\library\vlfeat\toolbox\mex\mexw64\vl_version.mexw64': 找不到指定的模块
自行下载 vlfeat-0.9.20-bin.tar,解压。
我的解压路径为MATLAB下的toolbox:
我的流程
1.查看自己VS的版本
打开VS2012 x64 Native Tools Command Prompt,输入nmake version,返回版本号为:
Microsoft (R) 程序维护实用工具 14.00.24210.0 版,即表明是VS2015
2.修改Makefile.mak
找到D:\Matlab2016\toolbox\VLFeat\Makefile.mak
修改Makefile.mak文件,将VS版本设置为2015
3.修改nmake_helper.mak
找到D:\Matlab2016\toolbox\VLFeat\make\nmake_helper.mak
修改!ELSE后的内容
4.nmake编译
打开本机工具命令提示符
进入Makefile.mak路径,exp:cd D:\path\..\..\...
输入nmake /f Makefile.mak,进行编译
出现报错:
查资料后发现时msvcr/msvcp问题,本机并没有msvcr的dll。解决方法:将Makefile.mak中所有的小写的msvcr改为msvcp,再次nmake
此处发现仍然有个报错,暂时不管...
5.打开matlab, 输入run('D:\Matlab2016\toolbox\VLFeat\toolbox\vl_setup')
结果是没有任何报错的
6.打开vl_compile.m,运行
报错
解决方法:将D:\Matlab2016\toolbox\VLFeat\vl\host.h文件的第315和335行删除or注释
7.验证
进行验证,将MATLAB目录到D:\vlfeat-0.9.20\toolbox下,输入vl_setup,然后运行vl_demo,看到很多图则安装成功
8.通过上述方法后,工程中仍然不可用?
是dll的问题
解决方法:
将D:\Matlab2016\toolbox\VLFeat\toolbox\mex\mexw64中的3个dll分别放入
C:\Windows\System32和SysWOW64目录下