VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)

本文整理了我引用的相关博客和自己的实际操作,以便日后自己回顾,供大家参考。

编译VLFeat库:

1.去官网下载压缩包并解压到自己的文件夹,我下载的是vlfeat-0.9.20-bin这个版本。http://www.vlfeat.org/download.html

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第1张图片

2.打开vs2015  x64本机工具命令提示符(开始菜单下面vs2015对应的文件夹),输入以下命令:

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第2张图片

记下14.00.24210.0这个版本号。

3.打开vlfeat-0.9.20/make/nmake_helper.mak文件,由于没有vs2015的版本号,需要在ELSE处添加,如图所示:

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第3张图片

其他vs版本对应的值如图所示:

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第4张图片

4.打开vlfeat-0.9.20/Makefile.mak文件,如果vs2015的安装路径不是默认的,需要修改成自己的路径,如图:

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第5张图片

5.打开vs2015  x64本机工具命令提示符,定位到存放vlfeat的目录,进行编译,以下为编译通过:

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第6张图片

完成后,将会在/vlfeat-0.9.20/bin目录下,新增一个win64目录,里面会有生成的vl.dll、vl.lib和一些test执行文件。

遇到的错误:

1.snprintf重定义,需要修改vlfeat-0.9.20/vl/host.h文件,以下链接提供了解决方案,我按照理解直接加入了两段代码:

https://stackoverflow.com/questions/27754492/vs-2015-compiling-cocos2d-x-3-3-error-fatal-error-c1189-error-macro-definiti

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第7张图片

链接的意思是很多库和程序使用#define snprintf _snprintf,后来c99标准也定义了snprintf()函数(官方支持),如果当前编译器支持c99,此时就会导致snprintf重定义。我加入的第一段代码是允许vs2015以后的版本(包括vs2015)支持c99。第二段代码是vs2015之前的版本需要定义snprintf。

或者snprintf重定义和isnan重定义也可以直接注释掉。(行315,316,335,336)

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第8张图片

 

2.don’t know how to make msvcr140.dll,原因是根本没有msvcr140.dll文件,只有msvcp140.dll。

打开vlfeat-0.9.20/Makefile.mak文件,需要将Makefile.mak文件中所有出现msvcr的地方改成msvcp(注意,只改小写的地方)

在vs2015中调用VLFeat库并成功运行:

在vs2015中编写项目并成功运行可以参考官方文档http://www.vlfeat.org/vsexpress.html

以下给出我的步骤(配置64位系统操作,32位同理):

自己创建一个简单的项目,需要修改项目属性来包含VLFeat这个库和一些目录。

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第9张图片

右击项目名称test,选择属性。接着按照以下截图操作。

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第10张图片

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第11张图片

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第12张图片

到这里可以编译成功,但是不能运行,如图,会提示没有vl.dll。

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第13张图片

官方文档给的解决方案是:

VLFeat vs2015 vc++ 64位操作系统 配置 运行(Win7,Win10)_第14张图片

如果你可以运行,那就成功了,但是我的程序还是提醒找不到,于是我就把vlfeat-0.9.20\bin\win64\vl.dll这个动态库复制到我创建的项目的test/x64/Debug下就可以了。

最后,感谢各位博主提供的教程。

https://blog.csdn.net/weiwei9363/article/details/65434976

https://blog.csdn.net/u011718701/article/details/51452011

 

你可能感兴趣的:(图像匹配)