Windows下的编译安装dlib(cmake)

1. 下载Dlib
     DLib的官方地址是:http://dlib.net/

     

目前最新的版本是19.4,点击下载得到一个压缩文件。


2. 下载CMake
   CMake的官方地址是:https://cmake.org/

   

点击进入到下载页面,里面有很多Release版本。我不需要源码,因此选择了一个Binary版本,如下图:


现在我们已经下载了Dlib和CMake,暂时在当前目录下解压缩,如下图:



3. 用CMake来构建dlib工程
      将前面解压得到cmake和dlib目录放到自己选定的位置,然后运行cmake-gui.exe,然后填入正确的dlib源码位置和编译之后的工程想要存放的目录,本人配置如下图:


理论上配置好路径后,点击1,会提示你选择编译器,按照你的需求选择就可以。前提是你的电脑必须安装,比如你想编译VS2013 X64,你必须安装VS2013.然后点击2.等待即可。如果你这么做一次就成功了,那恭喜你,你太牛逼了!我的台式电脑使用的vs2013,我点击1之后的选择如下图:


点击“Finish”,然后出现如下的画面:


卧槽,这么多红色的Error信息!难道是点击1之后的选择有误?然后把Visual Studio 12 2013 ARM 和Visual Studio 12 2013  Win64都试了一遍,依然出现上述Error信息!仔细阅读Error信息,发现主要原因是vs2013不支持C++11,上百度谷歌搜索解决方案,解决办法多种多样,我也试过人家的各种解决办法,反正我是没有成功,可能是我太菜鸟了!此处给出两种别人给出的解决办法,我都试过,没有成功,但是思路值得借鉴。一种方法是在CMakeLists.txt 添加对C++11的支持,如下图:


还有各种各样的添加对C++11支持的代码,我都统统失败了!还有人不用Cmake直接在VS2013下建立一个空的工程,然后按照一定步骤编译dlib,本人也试了这种方式,但是最后还是失败了,失败的原因仍然是C++11。 dlib-19.4\dlib\algs.h文件中有这么一句话:


这就表明我们所下载的dlib-19.4必须至少要vs2015才能支持,这就很好的解释了为什么前面我所尝试那么多解决方式都是失败的!
既然dlib-19.4用到了C++11,而C++11在vs2013下不能完全支持,这就提醒我们如果选择一个较老的版本dlib就有可能成功,或者将vs2013升级为vs2015!后面的实验验证了我的这两个想法都是正确的!于是我又重新回到dlib的官方网站,查看Release Notes,如下图:


搜索关键字C++11,查看各种版本与C++11的关系,部分截图如下:


从上面的文字描述上看19.1版本是铁定要有C++11的支持才可以,而19.0版本还不是必须的,因此果断去下载一个19.0版本来试一下。然后重新采用CMake来构建dlib工程,新的配置如下:


点击Configure,由于想要编译一个64位版本的dlib,因此选择如下图:


点击“Finish”,果然成功了!如下图:


千辛万苦,终于走到这一步了,然后点击“Generate” 就生成了dlib的工程,马上去设定的目录看看生成的dlib工程,如下图:


打开这个工程,在vs2013下的工程截图如下:


上述生成的是x64版本的dlib工程。跟前面的步骤一模一样,我们还可以生成一个x86(或Win32)版本的工程,具体过程同上,此处不解释只给出截图:





现在可以着手编译dlib.lib了,为了适应不同版本的需求,分别在 x64和x86环境下编译了Debug和Release版本,如图:

         

        

          

       

4. 第一个dlib程序
     接下来我们就用前面编译好的dlib.lib来开始我们的第一个程序,用dlib来检测人脸。此处我用的是x86+Debug版本的dlib.lib。我将前面生成的4个版本的dlib.lib复制到另外专门的库目录下便于以后的学习。接下来建立了一个名为DlibTest的空工程,在写代码前将工程的一些配置设好,无非就是头文件、库的目录和名称之类的,不细说了,直接看图:





我所做的配置就是这些了,然后可以开始写代码了,也是直接看图更直观:


然后找了一个有两个人的图片作为测试图片,能够正常编译和运行,运行结果如下:


OK,大功告成!到此为止,完成了Dlib在windows下的编译、安装和测试,剩下的事情就是慢慢研究Dlib和里面的算法了。


致谢

1、Dlib机器学习笔记1 -- Windows下的编译安装调试(超详细,菜鸟也成功)

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值