VLFeat开源库介绍及在VS2013中的编译

VLFeat是一个开源的计算机视觉算法库,内容主要包括feature detectors、feature extractors、k-means clustering、randomized kd-tree matching、super-pixelization。它是跨平台的,能够应用在Linux、Mac、Windows平台。它的License是BSD。

在VS2013中编译VLFeat源码操作步骤:

1.      从http://www.vlfeat.org/ 下载源码(或从https://github.com/vlfeat/vlfeat下载),最新版本为0.9.20;

2.      打开VS2013 x64本机工具命令提示,在命令行中输入:$ nmake version,如下图:

3.      在make/nmake_helper.mak文件中加入vs2013参数,如下图:

4.      将VS2013 x64本机工具命令提示定位到/vlfeat-0.9.20目录下,输入:

$ nmake /f Makefile.mak

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

6.      按照上面的步骤虽然生成了vlfeat动态库,但是不便于调试,下面新建一个控制台工程VLFeat_DLL,将/vlfeat-0.9.20/vl目录中的文件加入到VLFeat_DLL工程中;

7.      将VLFeat_DLL工程,配置属性中的配置类型由应用程序(.exe)改为动态库(.dll);字符集由使用Unicode字符集改为使用多字节字符集;

8.      遇到的问题及处理方法:

(1)、error C2491,不允许dllimport函数的定义:将宏VL_BUILD_DLL加入到预处理器定义中;

(2)、error C4996:将宏_CRT_SECURE_NO_WARNINGS加入到预处理器定义中;

(3)、三个类似的错误,fatal error C1189: #error : "Compiling with SSE2 enabled, …”:分别将三个宏 __SSE2__、_SSE2_、__AVX__加入到预处理器定义中;

(4)、六个类似的错误,error C4146一元负运算符应用于无符号类型,结果仍为无符号类型:将C/C++--> 常规--> SDL检查改为否(/sdl-)。

9.      重新编译整个工程即可生成VLFeat_DLL.dll;

10.    验证VLFeat_DLL.dll动态库的正确性:新添加一个Test_VLFeat控制台工程,测试代码及结果图如下:

#include <iostream>
#include <generic.h>

int main()
{
	VL_PRINT("Hello world!\n");

	std::cout << "ok!" << std::endl;
	return 0;
}

工程代码:https://github.com/fengbingchun/VLFeat-VS2013

时间: 2024-11-03 22:11:34

VLFeat开源库介绍及在VS2013中的编译的相关文章

C++开源库介绍

今天来介绍一些C++的开源库,如下链接 链接:http://blog.csdn.net/chen19870707/article/details/40427645 种类比较多,比如并发方面的就有这么多 接下来主要介绍我会用到的两个,分别是Hashmap和sofia-ml. 先来介绍Hashmap吧!它是一个C++实现的开放哈希寻址方法.源码如下 源码:https://github.com/goossaert/hashmap 具体用法主要参考main.cc文件即可.这里还有个手动实现的HashMa

iOS 开源库介绍

1. Github-iOS备忘 2. iOS 第三方开源库的吐槽和备忘

国标28181sip开源库介绍(陆续补充完备)

(1)osip一个基于 osip 库的 UAC 和 UAS 的代码整理http://blog.csdn.net/aflyeaglenku/article/details/51601270(2)pjsip介绍一个开源的SIP(VOIP)协议库PJSIPhttp://blog.csdn.net/aflyeaglenku/article/details/51198686(3)opal,vocal,sipx,resiprocate,osip几种开源SIP协议栈对比http://blog.csdn.net

二维码Data Matrix简单介绍及在VS2010中的编译

Data Matrix 二维条码原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于1989年发明.Data-Matrix二维条码是一种矩阵式二维条码. Data Matrix符号由规则排列的深浅色正方形模块构成,每一个正方形模块就是一个基本单元.每一个基本单元又被编码为一比特的数据. 数据区的四周是探測图形.用于条码符号定位和确定条码结构信息.探測图形的四周是空白区,用以将条码符号与背景分离. 探測图形是一个模块的宽度.是数

GDAL开源库在WIN8.1环境下的编译安装

最近因为实验需要,要在windows环境下利用GDAL进行开发,故尝试了一下编译GDAL. 参考链接1:http://blog.csdn.net/liminlu0314/article/details/6937194 参考链接2:http://malagis.com/win7-vs2010-gdal.html 首先在GDAL官网上找到了下载链接,得到了最新的1.11.2版本的源代码,解压到D盘.根据参考链接1的内容进行编译. 打开命令行,切换到GDAL源码目录,输入nmake -f makefi

UE4在VS2013中各个编译配置代表意义

UE4中有个各式各样的编译配置,都怎么个意思呢? 对原文的理解和翻译. https://docs.unrealengine.com/latest/INT/Programming/Development/CompilingProjects/index.html UE4通过UnrealBuildTool 来解决各个复杂的工程和对引擎的链接. UnralBuildTool使用*.build.cs和*.Target,cs来构建有效工程.当创建C++模板或Blueprint使用C++引导来添加代码到工程中

开源库Simd在vs2010中的编译及简单使用

Simd是开源的图像处理库,它提供了很多高性能的算法,这些优化算法主要由SIMD指令来实现,包括SSE.SSE2.SSSE3.SSE4.1.SSE4.2.AVX等,此库可以应用在windows/linux 32bit/64bit等系统中.此库更新较频繁.此库的license是MIT. 下面详细介绍其在vs2010中的编译及使用: 1.        从https://sourceforge.net/projects/simd/?source=typ_redirect下载最新版本simd.2.2.

VS2013中Python学习笔记[基础入门]

前言 在上一节中简单的介绍了在VS2013中如何进行开发Hello World,在VS2013中进行搭建了环境http://www.cnblogs.com/aehyok/p/3986168.html.本节主要来简单的学习一下关于Python的基础. Python基础入门 1.打印一个字符串Hello World. print('Hello World') 2.打印一个路径 print('C:\aehyok\aehyok') 可以发现\a发生了转义.如果不想发生转义,只需要在字符串前添加一个r p

Android字符串格式化开源库phrase介绍

在上一篇博客Android通过String.format格式化(动态改变)字符串资源的显示内容中介绍了通过String.format来格式化string.xml文件中的字符串,本文介绍一个可以实现同样功能的开源库phrase,相比于String.format,通过phrase格式化字符串代码更具可读性. 一.phrase项目介绍: 1.源码:phrase项目的源代码很简单,里面总共只有一个类:Phrase.java,代码如下: /* * Copyright (C) 2013 Square, In