编译Dlib 19.16并在vs程序中调用
1 下载dlib和cmake
在 http://dlib.net/faq.html 上下载dlib
在https://cmake.org/download/下载cmake 安装非常简单过程略
2 安装vs2015
vs2017应该也能编译成功,但自己试了很久也没有搞定,所以还是使用vs2015吧
3 安装CUDA9.2和cudnn 来使dlib支持GPU
具体安装过程略,安装后记得将cudnn目录下的cudnn64_7.dll 和cudnn.lib文件分别拷贝到cuda的安装目录下
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\lib\x64
4 编译dlib
我的dlib的解压目录是 E:\SoftWare\dlib-19.16,在目录下创建编译的工程的文件夹mylib,dlib19目录如下
打开cmake软件,配置如下
打开vs工程后,右键ALL_BUILD工程 ,生成静态库文件lib
5 使用生成的静态dlib库文件
我生成的文件是dlib19.16.0_debug_64bit_msvc1900.lib 目录是E:\SoftWare\dlib-19.16\mylib\Debug
编译好的下载地址https://download.csdn.net/download/wxtcstt/10776053
新建VS2015C++ 工程,右键工程属性
(1)在C/C++->常规下的附加包含目录下添加如下包含目录
E:\SoftWare\dlib-19.16
E:\SoftWare\dlib-19.16\dlib\external\libjpeg
E:\SoftWare\dlib-19.16\dlib\external\libpng
(2)在C/C++->预处理器下添加宏定义支持图片格式支持,添加3个定义
DLIB_PNG_SUPPORT;DLIB_JPEG_SUPPORT;DLIB_JPEG_STATIC;
其中不添加DLIB_JPEG_STATIC程序可能回报找不到jpeg相关的链接符号
(3)在连接器-》常规下添加附件库目录 E:\SoftWare\dlib-19.16\mylib\Debug,在常规->输入添加编译好的dlib静态链接库
dlib19.16.0_debug_64bit_msvc1900.lib;
6 在源文件中添加source.cpp
source.cpp的路径在dlib库的源代码路径下 E:\SoftWare\dlib-19.16\dlib\all
可能的问题: Debug模式下提示OBJ字节数组太大,则在属性 -> C/C++ -> 命令行 加入/bigobj