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环境的一点注意事项,下载连接 ...
随机推荐
- 如何访问https的网站?-【httpclient】
备注:本处代码使用groovy和httpclient4.3作为例子进行讲述 在普通方式下,当使用httpclient进行访问某个网站时,大致使用如下的代码进行访问: CloseableHttpClie ...
- Jnekins+Gitlab代码提交全程配置
实验环境: 测试机:192.168.2.156 Jenkins:192.168.2.157 Gitlab:192.168.2.158 温馨提示:如果不知道,Jenkins和Gitlab安装过程~可参考 ...
- Codeforces 513E2 Subarray Cuts dp (看题解)
我们肯定要一大一小间隔开来所以 把式子拆出来就是类似这样的形式 s1 - 2 * s2 + 2 * s3 + ...... + sn 然后把状态开成四个, 分别表示在顶部, 在底部, 在顶部到底部的中 ...
- ES6新特性:使用export和import实现模块化(转载)
在ES6前, 前端就使用RequireJS或者seaJS实现模块化, requireJS是基于AMD规范的模块化库, 而像seaJS是基于CMD规范的模块化库, 两者都是为了为了推广前端模块化的工 ...
- linux系统虚拟机下安装nginx基础
虽然安装nginx什么的 .以及如何配置等等一系列的资料案例已经很多了 但是作为菜鸟的我还是搞了半天哈 官网上面也有.但是一些细节方面的并没有说明.导致踩了半天坑才搞好 本案例的系统环境 wi ...
- tomcat配置调优与安全总结
http://vekergu.blog.51cto.com/9966832/1672931 tomcat配置调优与安全总结 作为运维,避免不了与tomcat打交道,然而作者发现网络上关于tomcat配 ...
- 001 Hello Security 的框架搭建
一:STS 1.下载STS 官网:http://spring.io/tools 使用一个干净的STS进行操作学习. 2.jdk检查 3.添加自己的maven 4.使用tomcat 二:新建项目 1.新 ...
- elementui分页点击详情返回分页样式
updated(){ $(".el-pager").children("li").removeClass("active"); var li ...
- IntelliJ IDEA 插件 阿里巴巴Java开发手册(Alibaba Java Coding Guidelines)
以前看到过个:Java开发手册(阿里巴巴-公开版),这是个pdf文档,里面描述了一些Java开发的规约,里面确实有很多好用的规约,要是在学校就有机会看看的话,那么,在毕业之后,实际工作中就会少很多坑. ...
- vdom,diff,key 算法的了解
<ul id='list'> <li class='item'>Item1</li> <li class='item'>Item2 </li> ...