Vlfeat重编译包括两个层次:
1. 浅层的可以参考vlfeat官网上关于vl_compile 的介绍:http://www.vlfeat.org/matlab/vl_compile.html;这个函数通过mex函数来重新编译matlab与c++的接口函数,加入调试的方法是在mex函数的参数里面加入’-g’参数,修改方式如下:
在vl_compile()文件中加入下图的第140行:
用这种方式重新编译的时候其他的必须确保其他的c函数已经生成了链接库,这种方式除了能大体分析matlab与C++的接口之外,没什么其他用途。真正想调试进入C++的算法实现需要用makefile重新编译所有的文件,就是下面第二种方式;
2. 官网上对于这种方式有讲解,但是讲的非常简单,http://www.vlfeat.org/compiling-windows.html
实际中由于自己的环境的问题需要修改的地方也不尽相同,下面的这个帖子讲的非常详细:
http://blog.csdn.net/u012211419/article/details/50311807
我自己的环境是windows10:vs2013+matlab2014+vlfeat0.9.20,按照上面的帖子编译成功了,需要注意的地方:
按照自己的环境修改nmakefile.mak
我修改的地方如下: