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环境的一点注意事项,下载连接 ...
随机推荐
- Go之viper配置
这个模块功能强大,读取配置,命令行,监听配置改变. 堪称多面手,在k8s,docker中,都多有应用. 这套应用,主要包括cobra,pflag,viper三件套. 了解得差不多啦...:) pack ...
- Hadoop数据分析平台项目实战(基于CDH版本集群部署与安装)
1.Hadoop的主要应用场景: a.数据分析平台. b.推荐系统. c.业务系统的底层存储系统. d.业务监控系统. 2.开发环境:Linux集群(Centos64位)+Window开发模式(win ...
- Sway
啥是Sway: http://livesino.net/archives/7520.live 地址:http://sway.com 现在又可以申请了 试试效果
- photoshop CC智能切图
网页设计在技术层面上,第一步是美工做出网页效果图,第二步就是网页前端进行网页切图.网页切图工具常用的有fireworks.PS,这里使用PS进行网页切图. 我们通过设计稿,得到我们想要的产出物(如.p ...
- mongodb实现自增的方法
前面操作看菜鸟教程 function getNextSequenceValue(sequenceName){ var sequenceDocument = Counter.findOneAndUpda ...
- alpha冲刺5/10
目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:冲刺5 团队部分 后敬甲(组长) 过去两天完成了哪些任务 文字描述 最近事情有点多,只是跟进了下进度,写了写博客 接下来 ...
- csv导入数据到mongodb3.2
mongoimport.exe -d paper -c paper K:\paper.csv --type csv -f id,name 数据库名 表名 文件所在位置 文件类型 ...
- python全栈开发day86-CRM增删改查 分页
知识点梳理: 1.分页器保存搜索条件 2.ORM批量插入数据bulk_create 批量创建model实例,在用bulk_create 一次插入数据库 3.自定义不同表的不同字段ModelForm错误 ...
- flink--DateSet开发--简单入门
开发流程 1. 获得一个execution environment, 2. 加载/创建初始数据, 3. 指定这些数据的转换, 4. 指定将计算结果放在哪里, 5. 触发程序执行 例子: object ...
- 线段树(lazy)-hdu1689
题目链接:https://vjudge.net/problem/HDU-1698 题目描述: 现在Pudge想做一些操作.让我们将钩子的连续金属棒从1编号到N.对于每个操作,Pudge可以将连续金属棒 ...