基于windows系统中visual studio2017的dlib库详细配置安装流程

dlib库是一个非常强大的开源库,有详细的说明文档和c++代码,也提供了一些和python的接口,但是安装和配置的过程略有些麻烦,网上有一些相关教程,但是大都零零星星不全面。笔者亲自把所有的坑都踩了一遍,整理出了比较全面的教程,供大家参考

1、        下载安装包

先在dlib网站上下载最新的库文件http://dlib.net/,左边的一列是菜单栏,包括了dlib的使用场景、编译换几个、python接口等各种详细说明,可以看出该库的应用场景包括API打包、图像处理、线性代数、机器学习、网络编程等几个大场景,每个场景之下又有小的分类,不禁感叹dlib库 的强大。

我下载的是dlib-19.7,将文件解压,将解压后的文件夹放置与任意文件夹下,路径中不要包含中文

2、        建立控制台工程

打开visual studio 2017(其他版本的配置过程类似),建立控制台工程。这时如果直接将example中的代码直接拷贝进去,就会报各种错误,首先错误就是无法进入找到dlib库文件中的各种头文件

3、        包含dlib对应文件夹

我们需要在项目属性中添加上刚才解压好的lib路径,注意添加的是dlib-19.7而不是dlib-19.7/dlib,因为前者包含了除dlib库之外的很多内容,为避免以后麻烦,这里直接包含dlib-19.7

右侧解决方案资源管理器,在项目上右击鼠标->属性->VC++目录,包含目录、引用目录、库目录均添加上dlib-19.7文件夹路径,点击确认

4、        添加dlib.lib

这时可以发现之前红红色波浪线的错误都已经不在了,但是进行编译时,会出现如下的错误,

大概读一下错误内容以及错误类型,可以判断是因为缺少dlib.lib文件导致的。下面需要制作dlib.lib,当然网上也有,但是不一定时最新的dlib,建议自己制作,也不麻烦

5、        制作dlib.lib

我们需要利用Cmake软件,cmake是一个跨平台编译工具,能够方便地制作库文件,进入官网(https://cmake.org/download/)下载,下载与操作系统位数匹配 的版本

下载完成之后,开始安装,如图所示,第一行时dlib-19.7文件夹中的dlib文件夹,dlib_building2是一个空的文件夹 ,用于存放制作完成之后的文件

点击generate,选择对应的vs版本号,点击finish,库文件制作开始

当出现如下字样时,制作完成

完成之后找到刚才的dlib_building2文件夹,用vs2017打开dlib.vcxproj

右击重新生成,

在刚才的文件夹共会出现debug文件夹,里面有需要的lib文件

进入原来的工程,右击进入属性页面,修改两个地方,在链接器下的常规选项卡中的的附加库目录中,加入之前生成的dubug路径。

在连接器的输入选项卡中的“附加依赖项目”中添加dlib.lib

6、        添加source以及修改stadfx属性

到这一步基本以及完成大部分,能够正常运行是最好不过的,但是如果出现如下错误

error LNK2001: 无法解析的外部符号 USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives

那就说明需要加入source.cpp文件,我们以添加现有项的方式加入,该文件位于 dlib-19.7文件夹下

这是笔者遇见了这样的错误:

这个错误看上去简单,但是当你在其中加入“stdafx.h”头文件时,还会有其他预编译的错误,执行起来麻烦,笔者经过查找各种资料,以及自己尝试,发现最简单的方法就是在source.cpp文件上右击,点“属性”,将预编译头设置改为不使用即可

如果遇见了这样的问题:

***\dlib\all\source.cpp : fatal error C1128: 节数超过对象文件格式限制: 请使用 /bigobj 进行编译

则按照如下方式解决

7、成功运行

直接运行示例程序(http://dlib.net/gui_api_ex.cpp.html),可以得到这样的一个图形用户界面,可以看出这是一个用鼠标单击并且进行计数的一个程序,每次点击button,都会是的数字加一

7、        图形处理类配置

以上配置可以满足非图形处理的需要,但是如若你的程序中的算法需要处理图片,比如你想做人脸识别或则时物品检测,需要读取图片,那么请继续往下看

可能在编译时遇见这样的错误

You must #define DLIB_JPEG_SUPPORT and link to libjpeg to read JPEG files.

Do this by following the instructions at http://dlib.net/compile.html.

Note that you must cause DLIB_JPEG_SUPPORT to be defined for
your entire project.

So don’t #define it in one file. Instead, add it to the
C/C++->Preprocessor->Preprocessor Definitions

field in Visual Studio’s Property Pages window so it takes effect for your
entire application.

解决方法如下:

将注释中的表示的缺少项加进去即可

如果报如下错误:

\dlib\dlib-19.4\dlib\image_loader\jpeg_loader.cpp(17):
fatal error C1083:
无法打开包括文件: “jpeglib.h”:
No such file or directory

则需要按照上面的方法添加DLIB_JPEG_STATIC即可

时间: 2024-08-03 21:11:50

基于windows系统中visual studio2017的dlib库详细配置安装流程的相关文章

基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音识别引擎(适用于windows 2

基于Windows Sdk 与visual C++2008 在微软平台上构架自己的语音识别引擎(适用于windows 2000/xp2003/vista   windows CE /mobile),本项目开源,源码请留下你们的Email,我给大家发 本人闲来无事,自行开发了一个小型的语音识别引擎,搭建起在微软平台上的语音识别框架服务体系, 鉴于本人个人力量有限,为了将语音识别引擎做的功能更加强悍,强大, 现在将该系统开源,需要源码的请在本人CSDN博客下留下EMail, 本系统属于系统框架,搭建

在Windows系统中构建还原ASP.NET Core 源码

大家好,这几天试着从Github上拉取AspNetCore的源码,尝试着通过Visual Studio 打开,但是并不尽人意.我们需要去构建我们拉去的源代码,这样才可以通过VisualStudio可还原的项目.毕竟AspNetCore是一个巨型的项目集. 先决条件 在Windows中构建AspNetCore源码的要求有以下硬件需求. Windows 10版本1803或更高版本 至少10 GB的磁盘空间和良好的网络(我们的构建脚本下载了很多工具和依赖项) Visual Studio 2019 (因

Windows系统中Xshell与Linux连接时遇到的问题

前提条件:在Windows系统中已经安装了Xshell,并且安装了虚拟机软件和Linux系统 步骤1.在Linux系统中root用户下,使用ifconfig命令查看虚拟系统Linux的IP地址.如图1 图1 步骤2.打开Xshell,创建连接,在新建会话属性对话框中,登记连接的名字,选择使用的协议,以及需要连接的虚拟机IP地址.如图2 图2 当连接建立好,只需根据提示输入用户名和密码就可以在Xshell终端使用Linux系统. 下面讨论当连接不能连接时,需要在哪许方面找原因: 原因1:虚拟机网络

如何将USBKey中的证书注册到Windows系统中

本篇文章就介绍一下如何使用微软CAPI接口完成将USBKey中的证书注册到Windows系统中. (1)        获取CSP句柄. CryptAcquireContext(&hTokenProv,NULL,“EnterSafe ET199Auto CSP V1.0”,PROV_RSA_FULL,NULL) (2)        获取USBKey内密钥句柄,这时要注意锁内密钥的类型是签名密钥(AT_SIGNATURE)或者交换密钥(AT_KEYEXCHANGE). CryptGetUserK

在windows系统中使用backoff2005的测试脚本来测试分词结果

分词程序的测试一般用backoff2005的脚本,但是backoff2005脚本是运行在linux系统上的.如果在windows系统中时,怎么使用该脚本呢?假设用户已经有了icwb2-data压缩包了. 首先得安装perl开发环境.下载地址: https://dwimperl.googlecode.com/files/dwimperl-5.14.2.1-v7-32bit.exe接下来,需要安装diff工具,下载地址: http://superb-dca3.dl.sourceforge.net/p

在Windows系统中安装集成的PHP开发环境

原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XAMPP等软件,这些软件之间的差别不大.每种集成包都有多个不同的版本,可以下载版本比较高的任意一个集成软件安装使用. 我用的是appserv-win32-2.5.10.exe下载地址:http://www.appservnetwork.com/index.php?newlang=chinese App

Cmder命令行工具在Windows系统中的配置

一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如:vi.vim.ls.pwd.grep.unzip.bash.perl.ssh 可在窗口内外自由使用常规的复制和粘贴操作 支持多Tab页的cmd窗口 提供了对命令窗口中的字符串进行快速搜索定位的功能 在传统cmd命令行工具的基础上,增加了Monokai配色方案,界面美观 命令窗口尺寸大小可自由调整

【其他】【服务器】【4】删除Windows系统中不想要的服务

步骤: 1,开始菜单栏查找“服务”,打开后找到想要删除的服务 2,右键单击想要删除的服务,选择“属性”-“常规”-“服务名称”,记下服务名称(AA) 3,开始菜单栏输入“cmd”打开命令行窗口,输入sc delete AA,回车 4,刷新服务,可以看到该服务已被删除 参考博客: 1,如何删除Windows系统中不想要的服务_百度经验 https://jingyan.baidu.com/article/bad08e1e86528309c85121d7.html?qq-pf-to=pcqq.c2c

windows系统中清空硬盘所有数据操作

1.先进入windows系统中的终端(MD). 2.在终端输入命令:diskpart 3.在终端输入命令:list disk 4.在终端输入命令:select disk 数字 4.在终端输入命令:clean 原文地址:https://www.cnblogs.com/greamrod/p/12657751.html