最近由于做一些三维重建的例子,因此得知了VLFeat。VLFeat是一个跨平台的开源机器视觉库,它囊括了当前流行的机器视觉算法,如SIFT, MSER, HOG, 同时还包含了诸如K-MEANS, Hierarchical K-means的聚类算法。VLFeat的官方主页:http://www.vlfeat.org/index.html。为了印象深刻,我选择了在官网下载最新的源码进行编译,最新版本为:0.9.20.
1、首先修改Makefile.mak文件
根据自己下载时的安装路径,将ARCH(多少位的系统),MSVSVER(VS版本号),MSVCROOT,WINSDKROOT设置正确。
2、打开VS2015 x64本机工具命令提示符,在命令行输入:nmake version,得到:
再修改nmake_helper.mak:
这对应所装的是本机的版本号。
3、打开VS2015 x64本机工具命令提示符,利用nmake进行编译
定位到/vlfeat-0.9.20目录下,运行nmake /f Makefile.mak,顺利的话,到此就等着编译成功。
但是我在编译时首先遇到:
1、不知道如何去生成D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT\msvcr140.dll,后来定位才发现文件中根本没有msvcr140.dll这个动态文件库,只有msvcp140.dll,因此把Makefile.mak文件中的msvcr换成了msvcp,注意的是,只要改小写的地方,大写的不用改。
2、后来又遇到snprintf的错误,后来在百度上查了很久,找到了解决方法,点击打开链接,即将host.h文件的第315和335行注释掉。
3、最后一个问题如下图所示:最后发现虽然这里提示错误,但是并不影响最终生成。
在这里感谢以下前人的经验:
http://blog.youkuaiyun.com/u011718701/article/details/51452011
http://www.open-open.com/lib/view/open1454674074370.html