Dlib是一个C++库,包含了许多机器学习算法。它是跨平台的,可以应用在Windows、Linux、Mac、embedded devices、mobile phones等。它的License是Boost Software License 1.0,可以商用。Dlib的主要特点可以参考官方网站:http://dlib.net/

下面说一下在window7 vs2013上的编译过程:

有两种方法,一种方法是通过CMake;一种是通过自己创建一个空的控制台工程,来生成Dlib静态库。

这里说一下通过空的控制台生成静态库的过程:

1、   新建一个空的控制台工程Dlib;

2、  目前Dlib最新的Release版本是v19.2,但是v19.2需要有vs2015的支持,这里通过vs2013编译v19.1版本,从https://github.com/davisking/dlib/releases 下载v19.1;

3、  将dlib/all/source.cpp和dlib/external/中zlib、libpng、libjpeg三个目录下的.c、.cpp文件加入到工程中,加入zlib、libpng、libjpeg文件是为了能够让dlib直接支持读取.png、.jpeg格式图像;

4、  dlib工程属性,修改主要包括:

(1)、配置属性--> 常规--> 配置类型:静态库 (.lib);

(2)、C/C++ --> 常规--> 附加包含目录:添加zlib/libpng/libjpeg头文件;

(3)、C/C++ --> 预处理器 --> 预处理器定义:DLIB_PNG_SUPPORT、DLIB_JPEG_SUPPORT;

(4)、解决方案平台:x64

5、  修改源码:

(1)、dlib/ matrix/matrix_utilities.h : error C2057,lines: 2665,将

{
	COMPILE_TIME_ASSERT(pixel_traits<P>::num > 0);
	matrix<T,pixel_traits<P>::num,1> m;
	pixel_to_vector_helper<P>::assign(m,pixel);
	return m;
}

调整为:

{
	COMPILE_TIME_ASSERT(static_cast<int>(pixel_traits<P>::num) > 0);
	matrix<T,pixel_traits<P>::num,1> m;
	pixel_to_vector_helper<P>::assign(m,pixel);
	return m;
}

(2)、dlib/external/libpng/pngread.c: error C4703, lines: 1029, 将

{
  png_color_8p sig_bit;

  png_get_sBIT(png_ptr, info_ptr, &sig_bit);
  png_set_shift(png_ptr, sig_bit);
}

调整为:

{
  png_color_8p sig_bit = NULL;

  png_get_sBIT(png_ptr, info_ptr, &sig_bit);
  png_set_shift(png_ptr, sig_bit);
}

6、  选中工程Dlib,在x64下即可生成Dlib静态库。

GitHub:https://github.com/fengbingchun/Face_Test

Dlib简介及在windows7 vs2013编译过程的更多相关文章

  1. OpenBLAS简介及在Windows7 VS2013上源码的编译过程

    OpenBLAS(Open Basic Linear Algebra Subprograms)是开源的基本线性代数子程序库,是一个优化的高性能多核BLAS库,主要包括矩阵与矩阵.矩阵与向量.向量与向量 ...

  2. 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译

    SeetaFaceEngine是开源的C++人脸识别引擎,无需第三方库,它是由中科院计算所山世光老师团队研发.它的License是BSD-2. SeetaFaceEngine库包括三个模块:人脸检测( ...

  3. GDAL库简介以及在Windows下编译过程

    GDAL(Geospatial Data Abstraction Library,地理空间数据抽象库)是一个在X/MIT许可协议下的开源栅格空间数据转换库.官网http://www.gdal.org/ ...

  4. vs2013编译过程中,错误 59 error C4996: 'GetVersionExW': 被声明为已否决

    好几次碰到这个错误,必须mark 一下!!!!!Project Properties > Configuration Properties > C/C++ > General > ...

  5. 转 C语言编译过程简介

    C语言编译过程简介 C语言编译过程简介 刚开始接触编程的时候,只知道照书敲敲代码,一直都不知道为什么在windows平台下代码经过鼠标那样点击几下,程序的结果就会在那个黑色的屏幕上.现在找了个机会将C ...

  6. C语言笔记——简介与编译过程初探

    序言 从今天起,详细说说C语言.这一年多,在大多数语言和技术之间转了一大圈,终于看清楚了事实,决心静下心来好好学学C语言.初学者会认为C语言是个入门用的东西,没有必要深入研究.但对计算机领域再稍加了解 ...

  7. .NET框架源码解读之SSCLI编译过程简介

    前文演示了编译SSCLI最简便的方法(在Windows下): 在“Visual Studio 2005 Command Prompt”下,进入SSCLI的根目录: 运行 env.bat 脚本准备环境: ...

  8. C语言基础(21)-C语言编译过程及GCC参数简介

    任何C语言的编译过程可分为以下三部分: 一.预编译 在C语言中,以#开头的语句又叫预编译指令.预编译主要做以下两件事情: 1.将#include包含的头文件做简单的文本替换: 2.将代码中的注释删除. ...

  9. C++ 编译过程简介

    C/C++程序编译流程: 预处理->编译->汇编->链接 具体的就是: 源代码(source coprede)→预处理器(processor)→编译器(compiler)→汇编程序( ...

随机推荐

  1. 在CentOS7上安装和使用ZooKeeper最新版本(V3.4.12)

    0.ZooKeeper文档 http://zookeeper.apache.org/doc/r3.4.11/zookeeperOver.html 1.准备 在CentOS7上安装zookeeper时, ...

  2. μCOS-II系统之事件(event)的使用规则及Semaphore的相互排斥量使用方法

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wavemcu/article/details/27798493 ****************** ...

  3. 【转+修改】容联云通讯api调用短信发送调用

    转自   https://my.oschina.net/u/1995134/blog/814540 需要荣联云通讯 的 相对应SDKjar包. CCP_REST_SMS_SDK_JAVA_v2.6.3 ...

  4. 【[HNOI2012]矿场搭建】

    抄题解真开心 我真是越来越菜了 这是点双的板子题,于是求出所有点双,之后讨论 如果点双里之有一个割点,那么如果这个割点炸了,这个点双就出不去了,于是我们得在这个点双内部除了这个割点位置放一个 如果有两 ...

  5. EF和linq to sql 关系

    LINQ to SQL 允许你用任何类来代表数据库中的数据.表.同样的,EF也允许你用任何类来代表苏据库中的数据.表. 所不同的的地方是Linq to sql 用这些被修饰过的类直接同数据库打交道,存 ...

  6. Ubunru 16.04 kinetic 下安装turtlebot2

    默认安装Ubuntu16.04以及ROS kinetic 防止忘记. 1. 准备工作: $ sudo apt-get install python-rosdep python-wstool ros-k ...

  7. Vue 子组件调用父组件 $emit

    <!DOCTYPE html><html>    <head>        <meta charset="utf-8">      ...

  8. pytest setup和teardown初始化

    用法简介: setup_method:仅作用于class用例集中的用例,置于class内,每个用例都会调用一次 setup_function:作用于独立的def用例,不可作用于class内的用例 se ...

  9. Shell笔记-02

    Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编 ...

  10. sys_arch interface for lwIP 2.0.3

    sys_arch interface for lwIP 2.0.3 Author: Adam Dunkels Simon Goldschmidt The operating system emulat ...