本文为原创,未经允许不得转载。
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:MyprogramsResdlib-19.6dliball这个路径下的source.cpp文件加入到工程中(以添加现有项的方式加入)。
5.以添加现有项的方式,
把,这个路径下的libjpeg里面的文件都添加进工程,
如法炮制把libpng文件夹下的所有文件以及zlib文件夹下所有文件都加进工程。
6.编译工程,工程长如下这样,
编译工程。就可以检测出人脸个数是2个了。你需要注意的是,万一你没给程序test2,jpg这个图片的话,
那么程序会抛出异常。异常如下,
说明下:如果不把如下三个文件夹下的所有文件以添加现有项的方式添加到工程中的话,
那么会报
这样的错误,而这个错误困扰我一天时间了。终于解决,很开心。以下是附录
附录,关于安装,编译,执行过程中,所遇到的问题做个记录
出现问题1.
解决问题1的方法:把D:MyprogramsResdlib-19.6dliball这个目录下的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