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环境的一点注意事项,下载连接 ...
随机推荐
- 用vi编辑文件
原文:https://www.ibm.com/developerworks/library/l-lpic1-103-8/index.html Overview In this article, lea ...
- IIS异常
http 错误 500.19 - internal server error 今天发布wcf到本地的IIS上,访问时出现了500.19错误.有效解决办法:是因为IIS没有安装完全,把能勾选的全部勾选上 ...
- iTOP4412环境搭建:arm-linux-gcc: 没有那个文件或目录
系统:vmware下的ubuntu14.04 对于iTOP4412自己搭建环境,在source /root/.bashrc后发现还是没有正常,调用arm-linux-gcc -v提示没有那个文件或目录 ...
- 【Arduino】开源开发板说明
来自世界各地的新型微控制器层出不穷,这类开发板多数都是通过Arduino改进的版本,例如由Arduino所改良的Yún一样,主要是针对网状网路进行改进或升级了其它无线功能. 但一些开发板也有着其独到的 ...
- Fiddler教程--简介
1.开发环境host配置 自己修改系统的host来回挺麻烦的 2.前后的接口调试 3.线上bugfix 4.性能分析和优化 5.等等... 工作原理 一个代理服务器 地址改为 127.0.0.1:88 ...
- AtCoder Grand Contest 11~17 做题小记
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-11-to-20.html UPD(2018-11-16): ...
- 做生活的有心人——xxx系统第一阶段总结
2017秋,桃子已经步入大学三年级了,觉得格外幸运 因为现在,有了学习的动力. 如果你和我一样也是在大学中后部分才意识到,自己是个大人了,思维模式开始转变开始融入一些前所未有的认知,觉得自己渺小得如沧 ...
- 064 SparkStream与kafka的集成,主要是编程
这里面包含了如何在kafka+sparkStreaming集成后的开发,也包含了一部分的优化. 一:说明 1.官网 指导网址:http://spark.apache.org/docs/1.6.1/st ...
- 050 Kafka的引入介绍
高吞吐量的分布式订阅消息系统 1.官网 http://kafka.apache.org/ 2.官网的介绍 3.结构 这个是版本1.0之后的版本. In Kafka the communication ...
- Java实现简单记事本
代码实现: import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; im ...