本文为原创,未经允许不得转载。

1.去Dlib的官网下载dlib-19.6的源文件。然后解压到Myprograms下的Res文件夹下

  

2.到CMake的官网下载Cmake,我下载以后解压,然后进入到bin目录,

运行cmake-gui.exe后出现

说明下:其中Dlibbuild文件夹,以及x64文件夹都是我自己建的。然后,点击configure

这样就是用你的vs2015编译成64位的dlib.lib库,点击Finish按钮后,会出现如下的结果

这时候你点击Generate,会产生的工程文件。这样的话我们就可以用vs2015打开这个工程了。

  接下来是进行属性页的一些配置

①在C/C++ =》常规=》附加包含目录下添加如下的文件夹的路径

  

如下图所示,

说明下,你要注意这样的选择,因为我是要编译64位debug版的dlib.lib,

如果你是编译64位Release版本的dlib.lib版本的,那么就应该选Release。

② 配置属性→ C/C++ →预处理器 中的预处理器定义

DLIB_JPEG_SUPPORT
DLIB_PNG_SUPPORT
DLIB_JPEG_STATIC

如下图所示,

完成上述操作后。重新编译项目,生成dlib.lib文件,其为64位的debug版本。

3. 验证dlib.lib是否正确

  期待结果:写个c++程序,调用刚刚生成的dlib.lib库文件,实现检测一张图片里面有几个人像的功能。

是需要修改的属性。

一、建立一个普通的控制台程序,工程名我这里起名为DlibTest。打开工程,然后打开项目的属性设置页。
     二、配置属性 C/C++ → 常规中的附加包含目录,
 添加dlib源码所在目录和源码目录/dlib/external中zlib、libpng和libjpeg总计四个文件目录,也把external文件夹目录加进来。

三、在C/C++ →预处理器→ 预处理定义 中添加

DLIB_PNG_SUPPORT

DLIB_JPEG_SUPPORT

四、在链接器→常规→附加库目录,把我们之前编译好的64位Debug版本的dlib.lib的路径给他。

五、在链接器→常规→输入的附加依赖性中,添加dlib.lib

4. 把D:\Myprograms\Res\dlib-19.6\dlib\all这个路径下的source.cpp文件加入到工程中(以添加现有项的方式加入)。

5.以添加现有项的方式,

把,这个路径下的libjpeg里面的文件都添加进工程,

如法炮制把libpng文件夹下的所有文件以及zlib文件夹下所有文件都加进工程。

6.编译工程,工程长如下这样,

编译工程。就可以检测出人脸个数是2个了。你需要注意的是,万一你没给程序test2,jpg这个图片的话,

那么程序会抛出异常。异常如下,

说明下:如果不把如下三个文件夹下的所有文件以添加现有项的方式添加到工程中的话,

那么会报

这样的错误,而这个错误困扰我一天时间了。终于解决,很开心。以下是附录

              附录,关于安装,编译,执行过程中,所遇到的问题做个记录

  出现问题1.

解决问题1的方法:把D:\Myprograms\Res\dlib-19.6\dlib\all这个目录下的source.cpp以加入现有项的方式加入工程。

  出现问题2

解决方法:

  出现问题3

解决问题3的方法:

  出现问题4

问题4的解决方法:

感谢所参考文章的作者:

http://blog.csdn.net/Dawnfox/article/details/77282246

http://blog.csdn.net/wi162yyxq/article/details/54728376

  http://blog.csdn.net/gxb0505/article/details/52825206

  http://blog.csdn.net/yiyuehuan/article/details/70667318

win7 64位安装Dlib19.6版本的过程记录的更多相关文章

  1. Win7 64位安装MySQL

    1.Win7 64位 安装MySQL5.5版本 安装文件的执行:会提示“已经停止工作”: 2.我下载了mysql-installer-community-5.7.11.0.msi,可以安装成功,中途需 ...

  2. Win7 64位安装VS2013无法连接远程数据库

    win7 64位安装vs2013后连接远程数据库出现下面的问题:A first chance exception of type 'System.AccessViolationException' o ...

  3. win7 64位 安装java jdk1.8 ,修改配置环境变量

    下载jdk1.8,下载地址:http://www.wmzhe.com/soft-30118.html 安装时有两个程序,都安装在同一个目录下. win7 64位 安装java jdk1.8 ,修改配置 ...

  4. PLSQL Developer win7 64位 安装方法

    安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0).Win7 64位系统暂无PLSQLDeveloper,所以下一个32位的. 下载insta ...

  5. wamp安装xdebug特殊情况win7 64位安装32位wamp

    在wamp上安装xdebug网上很多文章都介绍了方法,但是我这里遇到了一个很特殊的情况,在网上很少有人提及: 我机器是win7 64位的,安装的wamp1.7.4是32位的,这是后来导致出现奇怪现象的 ...

  6. win7 64位安装oracle10g客户端心得

    用了整整两天时间才在64位Win7下装好了Oracle的开发环境(包括Oracle的客户端和第三方客户端工具),过程原来和32位类似,注意不能下载64位的安装包. 安装过程: 1.下载Oracle 1 ...

  7. win7 64位安装redis 及Redis Desktop Manager使用

    写基于dapper的一套自动化程序,看到 mgravell的另一个项目,StackExchange.Redis,之前在.NET上用过一段时间redis,不过一直是其它的驱动开发包,这个根据作者介绍,是 ...

  8. win7 64位安装mongodb及管理工具mongoVUE1.6.9.0

    下载mongodb安装程序,官网地址:http://www.mongodb.org/downloads 我的是64位win7,选择: 然后双击下载的文件安装,我安装到本地的D盘里面 然后配置系统环境变 ...

  9. Apache+php+mysql win7 64位安装的几个注意事项

    网上一堆安装教程,所以不赘述具体安装过程,只说注意事项.新手推荐phpstudy 如果想单个安装,那么以下是我两三年内多次在win winserver环境下配置Apache环境的一点注意事项,下载连接 ...

随机推荐

  1. webpack学习笔记--配置plugins

     Plugin Plugin 用于扩展 Webpack 功能,各种各样的 Plugin 几乎让 Webpack 可以做任何构建相关的事情. 配置 Plugin Plugin 的配置很简单, plugi ...

  2. Nginx动静分离

    动静分离 Nginx动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路. ...

  3. mysql分组(五)

    MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT ...

  4. http--tomcat--memcached配置

    两个tomcat节点:172.16.100.7(tomcatA.magedu.com),172.16.100.8(tomcatB.magedu.com) 两个memcached节点:172.16.10 ...

  5. Codeforces 219E Parking Lot 线段树

    Parking Lot 线段树区间合并一下, 求当前要占的位置, 不包括两端点的写起来方便一点. #include<bits/stdc++.h> #define LL long long ...

  6. AtCoder Grand Contest 017D (AGC017D) Game on Tree 博弈

    原文链接https://www.cnblogs.com/zhouzhendong/p/AGC017D.html 题目传送门 - AGC017D 题意 给定一棵 n 个节点的以节点 1 为根的树. 两个 ...

  7. exporter API(导出、输出器api)moodel3.3

    Moodle[导出器]是接收数据并将其序列化为一个简单的预定义结构的类.它们确保输出的数据格式统一,易于维护.它们也用于生成外部函数的签名(参数和返回值) 外部函数定义在moodle/lib/exte ...

  8. 初窥Java之三

    一.基本数据类型之浮点型 每个数据它自身都有一个默认的类型,如果直接打印小数,默认类型就为double类型: float和double表示小数的精度不是特别的高,如果对于精确度要求非常的高,我们 都使 ...

  9. 大数据小白系列——MR(1)

    一部编程发展史就是一部程序员偷懒史,MapReduce(下称MR)同样是程序员们用来偷懒的工具. 来了一份大数据,我们写了一个程序准备分析它,需要怎么做? 老式的处理方法不行,数据量太大时,所需的时间 ...

  10. Spring监听,ApplicationListener

    import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; import ...