开源库dlib的安装与编译-CMake
前言
最近项目涉及到关于face alignment的实现,了解到目前主要的算法有ERT、SDM、LBF等,其中由于dlib开源库实现了ERT算法,效果也很不错,故开始研究dlib的使用。而使用的第一步是dlib的安装与编译,本文针对这一内容展开。网上有很多资料,不过也遇到了很多问题,走了一些弯路,故记录下来。
系统环境
1.系统:win7_x64;
2.VS版本:VS2013;
3.dlib版本:19.1;
实现步骤
1.使用dlib的注意事项;
2.dlib的下载与安装;
3.基于CMake编译dlib;
实现过程
1.使用dlib的注意事项;
1.1dlib的官网here;
Dlib是一个跨平台的开源库,可以基于c++和python进行开发,包含了许多机器学习算法,官网上也有帮助文档和代码示例。dlib可以应用在Windows、Linux、Mac、embedded devices、mobile phones等,它的License是Boost Software License 1.0,可以商用。
dlib开源库的编译过程主要是生成dlib静态库,有两种方法,一种是通过Cmake,一种是通过自己创建的一个空的控制台工程,本文主要介绍第一种方法,之后会介绍第二种方法。
1.2版本的一致性;
dlib的版本与系统、编译器、VS版本需要具有一致性,通过实践发现,dlib19.1之后的较新版本适用于VS2015或者newer,同时VS2015只适用于win10或者newer系统,安装VS2015之后新建项目有如下提示:


根据现有的资源,选择dlib19.1+VS2013进行实现;
2.dlib的下载与安装;
2.1下载;
dlib官网的下载链接只有最新版本的,但是不适用于现有的资源,故需要下载之前的老版本,这个官网上是没有的,在此提供两种方法。
方法一:davisking的github;
方法二:sourceforge网站;
这两种方法都有各种版本的压缩包,非常方便,在此就要吐槽一下某度的搜索能力了,但是非常感谢同导师的两位同学提供的帮助;
2.2安装;
安装就非常简单了,直接解压就可以啦。。。
3.基于CMake编译dlib;
3.1CMake的下载安装;
CMake官网here,在download页面就有需要的下载链接,安装即可;

3.2dlib的编译过程;
step1:打开cmake-gui的界面,添加source code和生成文件的路径;

step2:点击configure选择生成器;

step3:点击generate生成项目文件;
最后的界面如下图所示:

生成成功之后的生成文件内容如下图所示:

以上只是将dlib开源库转换成一个VS工程,还需要打开、生成该工程;
step4:使用VS2013打开dlib项目的解决方案,方案平台选择的是x64,分别在Debug和Release模式下生成dlib的静态库文件,
保存在生成文件路径下的debug和release文件夹中;


接下来就是将dlib.lib导入到需要用到的工程中,主要需要修改项目属性,包括添加附加库目录和附加依赖项,关于dlib的使用会在之后做介绍;
注意(20180110):
本人按照以上步骤在笔记本上是可以正常运行生成静态库的,但是在boss的电脑上出现了错误,错误是关于模块计算机和目标计算机不匹配的问题,这类问题很可能就是编译器类型和链接库等类型不匹配。此处step2选择的编译器修改为win64版本的即可,主要在于当前的生成器都是win64的即可;


参考
1.dlib的编译;
2.dlib提取特征点的总结;
3.编译过程;
完
开源库dlib的安装与编译-CMake的更多相关文章
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- linux下安装libcurl及开源库的一般安装步骤
前言 总有人说:要多看源代码!那么源代码去哪找呢?找到了又该怎么安装呢?本票博客不介绍如何使用和学习,只要讲获取和安装,以后会将curl和libevent的使用和学习. 一.开源库常用安装步骤 1.开 ...
- c++ 开源库介绍和安装
1 BLAS库 BLAS(Basic Linear Algebra Subprograms)是一组线性代数计算中通用的基本运算操作函数集合.BLAS Technical (BLAST) Forum负责 ...
- cryptopp开源库的使用(零):windows下使用visual studio编译
编译相当简单:打开目录下的sln文件直接编译即可,官方支持到vc2012,我使用vs2013也没有错误,优秀的开源库总是便于使用. 编译的时候注意运行库得选择需要跟使用该库的保持一致,否则会出现重定义 ...
- MXNet 学习 (1) --- 最易上手的深度学习开源库 --- 安装及环境搭建
安装环境:Win 10 专业版 64位 + Visual Studio 2015 Community. 记录下自己在有GPU的环境下安装配置MXNet的过程.该过程直接使用MXNet release ...
- python学习--Linux下dlib安装(主要是cmake和boost的安装)
昨天我们使用了dlib和opencv进行了人脸检测标注(http://www.cnblogs.com/take-fetter/p/8310298.html) 但是运行环境是基于windows的而且可能 ...
- 视觉slam十四讲开源库安装教程
目录 前言 1.Eigen线性代数库的安装 2.Sophus李代数库的安装 3.OpenCV计算机视觉库的安装 4.PCL点云库的安装 5.Ceres非线性优化库的安装 6.G2O图优化库的安装 7. ...
- 安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例)
安装与编译Dlib(以Ubuntu16.04+Python3.6+pip为例) Step1:下载Ubuntu (or Linux)系统支持库=>Install OS libraries -dev ...
- 开源服务专题之--------mysql的编译安装
为什么选择MySQL 1:mysql性能卓越,服务稳定,很少出现异常宕机 2:mysql开源免费,无版权制约,自主性及使用成本低 3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是ph ...
随机推荐
- Springboot 如何加密,以及利用Swagger2构建Restful API
先看一下使用Swagger2构建Restful API效果图 超级简单的,只需要在pom 中引用如下jar包 <dependency> <groupId>io.springfo ...
- SetCommMask
SetCommMask 用途:设置串口通信事件 原型:BOOL SetCommMask(HANDLE hFile, //标识通信端口的句柄 DWORD dwEvtMask ...
- Qt5_程序发布
ZC: deploy ==> 部署 1.文件夹platforms 该文件夹 来自 Qt安装目录:F:\ZC_software_installDir\Qt5.3.2_vs2010\5.3\msvc ...
- Lua面向对象 --- 多态
多态,简单的理解就是事物的多种形态.专业的术语说就是:同一个实现接口,使用不同的实例而执行不同的操作. 工程结构: BaseRoom.lua: BaseRoom = {} function BaseR ...
- XML和Schema
2017-11-03 19:33:56 XML:Extensible Markup Language,也就是可扩展标记语言.XML工具使处理和转化信息变得十分容易和方便. XML和HTML格式是古老的 ...
- yii 第一步
第一步:index.php // include Yii bootstrap filerequire_once(dirname(__FILE__).'/../../framework/yii.php' ...
- DownLoadImage
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA&quo ...
- codeforces 555b//Case of Fugitive// Codeforces Round #310(Div. 1)
题意:有n-1个缝隙,在上面搭桥,每个缝隙有个ll,rr值,ll<=长度<=rr的才能搭上去.求一种搭桥组合. 经典问题,应列入acm必背300题中.属于那种不可能自己想得出来的题.将二元 ...
- UVA-10318 Security Panel (DFS+剪枝)
题目大意:求将一个r*c的按钮矩阵由全部为关变成全部为开的最少按扭次数,每按一次开关能作用到的范围不定. 题目分析:开关问题.打眼一看就是BFS+位压缩,但是写出来之后TLE.用DFS不断更新最优解. ...
- textAlign
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> < ...