VS2017+DLib_19.17详细配置教程
最近学校布置了一个关于图像融合的作业,于是想利用Learn OpenCV 网站上的Face Morph 教程来设计一个人脸融合的Gif图,但是程序中需要用到DLib库,光是配置这个库就花费了我半天的时间,网络上的教程太多了,有一些并不一定适用。
我尝试了很多种办法,出现过各种各样的bug,走了许多弯路(比如说加上DLib库之后OpenCV的imread函数读不到图像数据,网络上说的解决方法是检查附加依赖项是否release使用了带d的lib,而debug使用了不带d的lib,但是我检查之后发现并没有错,所以最后一直没解决这个问题,又重新上网找其他配置方法),直到最后我选择了 DLib官网 提供的安装方法(全是英文,翻译了好久),才成功了。果然官方给的方法才是最实用的。
一、安装CMake
官网提供的方法是使用CMake生成库,首先我们的电脑上需要安装CMake,前往 CMake官网下载地址 下载,我使用的版本是3.14.2,选择msi格式的安装包(之所以选择msi格式是因为msi可以方便地添加环境变量到系统),根据自己电脑的处理器选择x64还是x86的安装包,我的电脑是x64处理器,所以我选择了红框框出来的安装包。
安装包下载完成之后,双击文件运行,点击next
勾选agreement,点击next
选择“Add CMake to the system PATH for all user”和“Create CMake Desktop Icon”,点击next
选择生成的路径,点击next
点击“Install”
安装完成
之后检查一下系统的环境变量中是否有添加CMake的bin路径。
右键点击桌面上“我的电脑” --> 弹出界面左栏中的“高级系统设置”
--> 选择“环境变量” --> 点击“系统变量”组框下的“Path”,点击“编辑”按钮
--> 弹出的窗口中检查是否有CMake/bin一栏,没有的话,点击“编辑”按钮自己手动添加
二、下载DLib
安装完CMake之后,前往 DLib官网files 下载DLib库,选择 dlib-19.17.zip ,下载到本地(我选择的是D盘),下载完成后解压,得到一个文件夹,文件夹中有如下文件
三、使用cmd命令让CMake编译Dlib库
使用WIN+R组合键调出“运行”界面,输入“cmd”调出命令行窗口
在命令行窗口,首先输入D:转到D盘下的目录(博主的DLib解压到了D盘),(tip:此时输入dir命令可以显示目录下的全部文件名,文件名输入一部分时可以按下“Tab”键可以自动补全),然后输入cd DLib跳转到DLib文件夹,继续输入cd dlib-19.17跳转到库目录下(还有一种方法是直接在库目录下使用shift+鼠标右键直接开启该目录下的命令行窗口,博主没有用过,你们可以试一下)
来到该目录下之后,就可以使用官方的方法编译DLib库啦
这里解释一下,第一行cd examples 是跳转到DLib库下的examples文件夹,该文件夹下有一个名为“CMakeLists.txt”的文件,里面有DLib的配置方案,反正按官方说的做就对了;第二行mkdir build 是生成一个名为build的文件夹,到时候CMake编译时生成的文件都会放在这里面,包括生成的库。第三行cd build 跳转到build文件夹下。当使用第四行命令cmake .. 就是CMake的编译命令,运行到这里时,若出现不是内部的命令,则需要把安装的Cmake的bin目录添加到环境变量PATH里,具体方法上面有。cmake .. 这两个点表示上一级文件夹,也就是examps文件夹,意思应该是让CMake去寻找“CMakeLists.txt”的文件。此安装默认生成32位的可执行文件,要想生成64位的,需要将cmake.. 命令替换为 cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ..(最后两个点不要漏了)。第五行cmake --build . --config Release ,--build 是开始编译命令,. 一个点表示当前目录,即生成文件存放在当前目录下,--config Release 这里需要注意啦,如果写Release 最终将生成Release库,所以说如果你想生成一个Debug库的话,就需要改成--config Debug。
(博主已经生成过Release库,所以这次演示生成Debug库,生成目录名为buildDebug)
输入cmake -G "Visual Studio 15 2017 Win64" -T host=x64 ..
执行完成
输入cmake --build . --config Debug
执行的时间比较漫长,建议先去喝杯茶干点别的事,中间会出现一些warning没有关系,无视就行
Cmake执行结束
此时“D:\DLib\dlib-19.17\examples\buildDebug\dlib_build\Debug“” 文件夹下就会有编译好的库存在(注意:是dlib_build下的Debug文件夹)
将生成的库拷贝,放置到D:\DLib\Library\Debug\下,方便查找和添加
配置VS2017环境
打开VS2017,新建一个工程,选择工程的“属性管理器”(如果没有这一栏,可以点击“视图”-->“其他窗口”-->“属性管理器”)
(我这里已经把OpenCV的属性表加进去了)右键点击“Debug | x64”,在弹出的菜单下选择“添加新项目属性表”,弹出的窗口中将属性表命名为“DLib_x64_debug”,修改保持位置为“D:\DLib\Library\Debug”(以后新建DLib的工程只要Add这个属性表就行了)
然后右键点击DLib_x64_debug属性表,在弹出的菜单中选择“属性”
首先在“VC++目录”下编辑包含目录,添加“D:\DLib\dlib-19.17”,点击“确定”
在库目录下添加“D:\DLib\Library\Debug”,即dlib19.17.0_debug_64bit_msvc1916.lib所在的目录,点击“确定”
然后在“链接器”-->“输入”的“附加依赖项”中添加“dlib19.17.0_debug_64bit_msvc1916.lib”,点击“确定”
最后在“C/C++”-->“预编译器”中的“预处理器定义”中添加
DLIB_SUPPORT_JEPG
DLIB_SUPPORT_PNG
(注意:这里如果不添加这两个预编译指令的话,dlib::load_image函数就无法读取 .jpg .png格式的图像,程序会崩溃)
到此,环境已经配置完成。
这是我第一次写博客,费了挺多时间的,有什么错误或者漏缺还请多多指教。O(∩_∩)O哈哈~
过几天我还会写一个使用OpenCV和DLib编写FaceWorph人脸融合程序的教程,敬请期待哦!
参考文章
https://blog.csdn.net/qq583083658/article/details/79917066
VS2017+DLib_19.17详细配置教程的更多相关文章
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径
本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...
- 使用Docsify做文档网站的详细配置教程
使用Docsify做文档网站的详细配置教程 作者:xhemj 没错,它叫Docsify. xhemj的文档中心就是用这个写的 开源地址:https://github.com/docsifyjs/doc ...
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程
UEditor是百度开发团队奉献的一款很不错的在线编辑器.在百度自己很多产品上都有应用,本文主要是该编辑器的配置教程. 1.下载UEditor,当前最新版本是1.3.6.这里下载的.net版本,选择U ...
- hadoop 2.0 详细配置教程(转载)
转载: http://www.cnblogs.com/scotoma/archive/2012/09/18/2689902.html 作者:杨鑫奇 PS:文章有部分参考资料来自网上,并经过实践后写出, ...
- Hadoop详细配置教程
windows下采用PuTTY或者Xshell连接远程主机 mac用终端连接远程linux主机:ssh user@hostname user 为 linux 服务器的管理员名称 hostname 为 ...
- hadoop 2.0 详细配置教程
http://www.cnblogs.com/scotoma/archive/2012/09/18/2689902.html
- [VSTS] 从零开始 Team Foundation Server 2010 安装配置详细图文教程
http://www.cnblogs.com/WilsonWu/archive/2011/11/24/2261674.html 近期公司要配TFS用于新项目的管理,公司也将逐步迁移至VSTS平台,前期 ...
- 11.IntelliJ IDEA详细配置和使用教程(适用于Java开发人员)
转自:https://blog.csdn.net/chssheng2007/article/details/79638076 前言 正所谓工欲善其事必先利其器,对开发人员而言若想提高编码效率,一款高效 ...
- 详细的图文介绍如何利用XAMPP本地建站的环境配置教程
原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...
随机推荐
- leetcode897
这道题用C++来写,在本地执行正常,但是使用OJ判断输出结果是空,暂时不清楚原因.代码如下: class Solution { public: vector<int> V; //中序遍历 ...
- 异常:java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path '/app/userInfoMaint/getProvince.do'
调试代码时出现异常:java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path '/app/user ...
- android获取mp4视频文件总时长和视频宽高<转>
android使用 MediaMetadataRetriever 获取视频文件的 总时长 和视频的分辨率. 根据该方式获取视频信息可以看出不仅仅可以获取时长和分辨率,还能获取到其他的一些视频信息,不错 ...
- saltstack系列(四)——zmq Paraller Pipeline模式
push/pull模式 push/pull模式,这是一个什么模式呢?战争时期,食物紧缺,实行配给制,大家都排好队,有人专门发放食物,前一个人领取了食物,后一个人跟上继续领取食物,这个push端就是发放 ...
- 求正整数n的所有因子
因子的概念:假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子. 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立.反过来说,我们称n为m的倍数. 求一个正整数n的所有 ...
- LoadRunner Controller
1.Controller的引入 1)需要Controller的原因?需要多个用户来模拟并发的时候. 2)一种强大的.成熟的工具的体现. 2. Controller的启动方式 1)LoadRunner ...
- IDEA02 利用Maven创建Web项目、为Web应用添加Spring框架支持、bean的创建于获取、利用注解配置Bean、自动装配Bean、MVC配置
1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 ...
- Linux下安装memcache PHP扩展
[root@centos memcache-2.2.4]# wget http://pecl.php.net/get/memcache-2.2.4.tgz [root@centos memcache- ...
- Jmeter接口测试-基于nodejs的to do list项目说明
一.了解测试项目 我们的测试项目叫做smile_task,简称sm_task.这是一个基于nodejs超简单的todo list. 它的主要流程就是:输入标题描述---点击创建一个任务---编辑修改任 ...
- poj2513 Fence Repair(小根堆)
Description Farmer John wants to repair a small length of the fence around the pasture. He measures ...