vl_feat-0.9.20--matlab 2014a--vs2013 配置问题

来源:互联网 发布:中国移动宽带端口查询 编辑:程序博客网 时间:2024/06/17 00:46

电脑配置:win7 x64, matlab 2014a , vs2013-RTM-ULT 版本

一开始使用 vs2013 desktop 版本,发现“D:\program\vs2013\VC\bin\”下只有 x86_amd64 文件夹,而MATLAB里的“D:\matlab2014a\bin\win64\mexopts\”下的“msvc2013.xml”和“msvcpp2013.xml”文件里的路径只有amd64. 使用"mex -setup"等命令都显示为:找不到编译器或SDK。

后来我卸载了vs2013 desktop版本,然后 安装了vs2013-RTM-ULT 版本,再查看“D:\program\vs2013\VC\bin\”下多了很多文件夹,包括“amd64. 这个时候MATLAB就已经能发现编译器了:

>> mbuild -setup

"MBUILD 配置为使用 'Microsoft Visual C++ 2013 Professional (C)' 以进行 C 语言编译。

要选择不同的语言,请从以下选项中选择一种命令:
 mex -setup C++ -client MBUILD 
 mex -setup FORTRAN -client MBUILD
MBUILD 配置为使用 'Microsoft Visual C++ 2013 Professional' 以进行 C++ 语言编译。
"

说明MATLAB已经识别编译器了,然后再选择编译器C++。

不过在使用vl_feat d的时候又出现了:

Invalid MEX-file 'D:\program\vlfeat-0.9.20-bin\vlfeat-0.9.20\toolbox\mex\mexw64\vl_version.mexw64': 找不到指定的模块。但是这个文件确实存在,为什么找不到呢?按照网上的办法:

1、在MATLAB中运行E:\vlfeat-0.9.20\toolbox文件夹下的vl_compile.m,重新编译mex文件,但是未解决问题。

2、网上说缺少DLL文件,需要把msvcr100.dll文件复制到system32下。我发现在E:\vlfeat-0.9.20\toolbox\mex\mexw64文件夹下确实有msvcr100.dll和vl.dll两个文件,但是我的C:\Windows\System32和SysWOW64目录下已经存在msvcr100.dll文件,于是只是把vl.dll文件复制到这两个目录下,成功了。

原创粉丝点击