VLFeat工具箱配置

时间:2024-03-23 13:41:12

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:

VLFeat工具箱配置

 

我的流程

1.查看自己VS的版本

打开VS2012 x64 Native Tools Command Prompt,输入nmake version,返回版本号为:

VLFeat工具箱配置

Microsoft (R) 程序维护实用工具 14.00.24210.0 版,即表明是VS2015

 

2.修改Makefile.mak

找到D:\Matlab2016\toolbox\VLFeat\Makefile.mak

VLFeat工具箱配置

修改Makefile.mak文件,将VS版本设置为2015

VLFeat工具箱配置

 

3.修改nmake_helper.mak

找到D:\Matlab2016\toolbox\VLFeat\make\nmake_helper.mak

VLFeat工具箱配置

修改!ELSE后的内容

VLFeat工具箱配置

4.nmake编译 

打开本机工具命令提示符

VLFeat工具箱配置

进入Makefile.mak路径,exp:cd D:\path\..\..\...

输入nmake /f Makefile.mak,进行编译

出现报错:

VLFeat工具箱配置

查资料后发现时msvcr/msvcp问题,本机并没有msvcr的dll。解决方法:将Makefile.mak中所有的小写的msvcr改为msvcp,再次nmake

VLFeat工具箱配置

此处发现仍然有个报错,暂时不管...

 

5.打开matlab, 输入run('D:\Matlab2016\toolbox\VLFeat\toolbox\vl_setup')

结果是没有任何报错的

 

6.打开vl_compile.m,运行

报错

VLFeat工具箱配置

解决方法:将D:\Matlab2016\toolbox\VLFeat\vl\host.h文件的第315和335行删除or注释

VLFeat工具箱配置

 

7.验证

进行验证,将MATLAB目录到D:\vlfeat-0.9.20\toolbox下,输入vl_setup,然后运行vl_demo,看到很多图则安装成功

VLFeat工具箱配置

 

8.通过上述方法后,工程中仍然不可用?

是dll的问题

解决方法:

将D:\Matlab2016\toolbox\VLFeat\toolbox\mex\mexw64中的3个dll分别放入

C:\Windows\System32和SysWOW64目录下

VLFeat工具箱配置