win7 64位安装Dlib19.6版本的过程记录
本文为原创,未经允许不得转载。
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版本的过程记录的更多相关文章
- Win7 64位安装MySQL
1.Win7 64位 安装MySQL5.5版本 安装文件的执行:会提示“已经停止工作”: 2.我下载了mysql-installer-community-5.7.11.0.msi,可以安装成功,中途需 ...
- Win7 64位安装VS2013无法连接远程数据库
win7 64位安装vs2013后连接远程数据库出现下面的问题:A first chance exception of type 'System.AccessViolationException' o ...
- win7 64位 安装java jdk1.8 ,修改配置环境变量
下载jdk1.8,下载地址:http://www.wmzhe.com/soft-30118.html 安装时有两个程序,都安装在同一个目录下. win7 64位 安装java jdk1.8 ,修改配置 ...
- PLSQL Developer win7 64位 安装方法
安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0).Win7 64位系统暂无PLSQLDeveloper,所以下一个32位的. 下载insta ...
- wamp安装xdebug特殊情况win7 64位安装32位wamp
在wamp上安装xdebug网上很多文章都介绍了方法,但是我这里遇到了一个很特殊的情况,在网上很少有人提及: 我机器是win7 64位的,安装的wamp1.7.4是32位的,这是后来导致出现奇怪现象的 ...
- win7 64位安装oracle10g客户端心得
用了整整两天时间才在64位Win7下装好了Oracle的开发环境(包括Oracle的客户端和第三方客户端工具),过程原来和32位类似,注意不能下载64位的安装包. 安装过程: 1.下载Oracle 1 ...
- win7 64位安装redis 及Redis Desktop Manager使用
写基于dapper的一套自动化程序,看到 mgravell的另一个项目,StackExchange.Redis,之前在.NET上用过一段时间redis,不过一直是其它的驱动开发包,这个根据作者介绍,是 ...
- win7 64位安装mongodb及管理工具mongoVUE1.6.9.0
下载mongodb安装程序,官网地址:http://www.mongodb.org/downloads 我的是64位win7,选择: 然后双击下载的文件安装,我安装到本地的D盘里面 然后配置系统环境变 ...
- Apache+php+mysql win7 64位安装的几个注意事项
网上一堆安装教程,所以不赘述具体安装过程,只说注意事项.新手推荐phpstudy 如果想单个安装,那么以下是我两三年内多次在win winserver环境下配置Apache环境的一点注意事项,下载连接 ...
随机推荐
- 分布式系统的CAP理论
一.CAP理论概述 一个分布式系统最多只能同时满足一致性(Consistency).可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项. 二.CAP ...
- Codeforces 609F Frogs and mosquitoes 线段树
Frogs and mosquitoes 用线段树维护每个点覆盖的最小id, 用multiset维护没有吃的蚊子. #include<bits/stdc++.h> #define LL l ...
- js中的new Option默认选中
new Option("文本","值",true,true).后面两个true分别表示默认被选中和有效! //js默认选中 var sel = document ...
- Python图表数据可视化Seaborn:4. 结构化图表可视化
1.基本设置 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ...
- Practice| 类型转换| 逻辑运算
类型转换 class Pratice1{ public static void main(String[] args){ int a = 3; //float f = 4.5;//TypeChange ...
- Spring-1-(简介及HelloWord)
一:Spring简介 Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便. Spring核心功能: 1.AOP:面向切面编程 2.Ioc/Di:控制反转/依赖注入 3.声明式事务 Sp ...
- NN:神经网络实现识别手写的1~9的10个数字—Jason niu
import numpy as np from sklearn.datasets import load_digits from sklearn.metrics import confusion_ma ...
- 222. Getter与Setter
Description Implement a class School, including the following attributes and methods: A private attr ...
- 进程篇:wait & waitpid
#include <sys/types.h> /* 提供类型pid_t的定义 */ #include <sys/wait.h> pid_t wait(int *status) ...
- 块级元素或者行内元素在设置float属性之后是否改变元素的性质?
块级元素使用float属性后,将其属性变成inline-block,不能改变其块级元素的性质,只是能有块级元素的特性,不独占一行,宽度不会占满父元素,和行内元素排列成一行 行内元素使用float属性后 ...