admin 管理员组文章数量: 887016
Dlib是一个C++库,包含了许多机器学习算法。它是跨平台的,可以应用在Windows、Linux、Mac、embedded devices、mobile phones等。它的License是Boost Software License 1.0,可以商用。Dlib的主要特点可以参考官方网站:http://dlib/
下面说一下在window7 vs2013上的编译过程:
有两种方法,一种方法是通过CMake;一种是通过自己创建一个空的控制台工程,来生成Dlib静态库。
这里说一下通过空的控制台生成静态库的过程:
1、 新建一个空的控制台工程Dlib;
2、 目前Dlib最新的Release版本是v19.2,但是v19.2需要有vs2015的支持,这里通过vs2013编译v19.1版本,从https://github/davisking/dlib/releases 下载v19.1;
3、 将dlib/all/source.cpp和dlib/external/中zlib、libpng、libjpeg三个目录下的.c、.cpp文件加入到工程中,加入zlib、libpng、libjpeg文件是为了能够让dlib直接支持读取.png、.jpeg格式图像;
4、 dlib工程属性,修改主要包括:
(1)、配置属性--> 常规--> 配置类型:静态库 (.lib);
(2)、C/C++ --> 常规--> 附加包含目录:添加zlib/libpng/libjpeg头文件;
(3)、C/C++ --> 预处理器 --> 预处理器定义:DLIB_PNG_SUPPORT、DLIB_JPEG_SUPPORT;
(4)、解决方案平台:x64
5、 修改源码:
(1)、dlib/ matrix/matrix_utilities.h : error C2057,lines: 2665,将
{
COMPILE_TIME_ASSERT(pixel_traits<P>::num > 0);
matrix<T,pixel_traits<P>::num,1> m;
pixel_to_vector_helper<P>::assign(m,pixel);
return m;
}
调整为:
{
COMPILE_TIME_ASSERT(static_cast<int>(pixel_traits<P>::num) > 0);
matrix<T,pixel_traits<P>::num,1> m;
pixel_to_vector_helper<P>::assign(m,pixel);
return m;
}
(2)、dlib/external/libpng/pngread.c: error C4703, lines: 1029, 将
{
png_color_8p sig_bit;
png_get_sBIT(png_ptr, info_ptr, &sig_bit);
png_set_shift(png_ptr, sig_bit);
}
调整为:
{
png_color_8p sig_bit = NULL;
png_get_sBIT(png_ptr, info_ptr, &sig_bit);
png_set_shift(png_ptr, sig_bit);
}
6、 选中工程Dlib,在x64下即可生成Dlib静态库。
GitHub:https://github/fengbingchun/Face_Test
版权声明:本文标题:Dlib简介及在windows7 vs2013编译过程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1728602409h1255326.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论