windows8.1 vs2015 dlib库cpu 版本编译以及应用 library is 90, caller expects 80

2023-11-18

近期由于要做一个关于人脸计数的项目,因此对dlib库进行了编译和使用,其中遇到了不少问题,下面请听我一一道来

第一步:从dlib官网下载dlib源码,链接地址:
https://github.com/davisking/dlib

第二步,采用cmake配置环境,并生成工程,配置环境如下:dlib源码全部放在了source下,build为要生成的工程地址路径(选择Advanced),点击config弹出vs配置界面,选择vs2015,X64
在这里插入图片描述
CUDA的配置(默认):
在这里插入图片描述
libjpeg和libpng的相关配置
在这里插入图片描述
生成工程以后,点击Open Project。
第三步:配置release库的生成环境:Release X64

在这里插入图片描述
右键dlib->属性->常规->文件名扩展:改成dlib即可(如下图):
等待片刻以后,在路径…/dlib-19.20/build/dlib/Release下便生成dlib.lib文件,此文件就是我们所要用的。
在这里插入图片描述
第四步:我们进行实例验证(问题出现的地方):
创建工程vs2015->新建->项目->win32控制台应用程序

实例采用的是D:\compile_mxnet\dlib-19.20\source\examples\video_tracking_ex.cpp

// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt
/*

This example shows how to use the correlation_tracker from the dlib C++ library.  This
object lets you track the position of an object as it moves from frame to frame in a
video sequence.  To use it, you give the correlation_tracker the bounding box of the
object you want to track in the current video frame.  Then it will identify the
location of the object in subsequent frames.

In this particular example, we are going to run on the video sequence that comes with
dlib, which can be found in the examples/video_frames folder.  This video shows a juice
box sitting on a table and someone is waving the camera around.  The task is to track the
position of the juice box as the camera moves around.
*/

#include <dlib/image_processing.h>
#include <dlib/gui_widgets.h>
#include <dlib/image_io.h>
#include <dlib/dir_nav.h>


using namespace dlib;
using namespace std;

int main(int argc, char** argv) try
{
	if (argc != 2)
	{
		cout << "Call this program like this: " << endl;
		cout << "./video_tracking_ex ../video_frames" << endl;
		return 1;
	}

	// Get the list of video frames.  
	std::vector<file> files = get_files_in_directory_tree(argv[1], match_ending(".jpg"));
	std::sort(files.begin(), files.end());
	if (files.size() == 0)
	{
		cout << "No images found in " << argv[1] << endl;
		return 1;
	}

	// Load the first frame.  
	array2d<unsigned char> img;
	load_image(img, files[0]);
	// Now create a tracker and start a track on the juice box.  If you look at the first
	// frame you will see that the juice box is centered at pixel point(92,110) and 38
	// pixels wide and 86 pixels tall.
	correlation_tracker tracker;
	tracker.start_track(img, centered_rect(point(93, 110), 38, 86));

	// Now run the tracker.  All we have to do is call tracker.update() and it will keep
	// track of the juice box!
	image_window win;
	for (unsigned long i = 1; i < files.size(); ++i)
	{
		load_image(img, files[i]);
		tracker.update(img);

		win.set_image(img);
		win.clear_overlay();
		win.add_overlay(tracker.get_position());

		cout << "hit enter to process next frame" << endl;
		cin.get();
	}
}

catch (std::exception& e)
{
	cout << e.what() << endl;
}


在这里插入图片描述
1)将代码放入test.cpp文件夹下;

2)右键test->添加->现有项(到…\dlib-19.20\source\dlib\all\下 添加文件进来source.cpp)
3)添加新建筛选器:libjpeg, libpng, libz(很关键,因为我在编译dlib.lib库的时候把anaconda下libjpeg_support等都取消了,因为anconda下安装的jpeglib.h的头文件里JPEG_LIB_VERSION 90,而dlib库里面的是80,版本要更高,不能兼容,错误如下:)
在这里插入图片描述

anaconda下:
在这里插入图片描述
dlib下的:
在这里插入图片描述

在这里插入图片描述
将三个文件夹下的内容分别添加进libjpeg,libpng, libz中,此时要把如下三个文件从libjpeg文件中剔除,否则会包各种error LINK2005 LINK2001的错误
在这里插入图片描述

4)环境配置:
可以参考链接即可
https://www.cnblogs.com/www-caiyin-com/p/7484390.html

5)效果展示:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows8.1 vs2015 dlib库cpu 版本编译以及应用 library is 90, caller expects 80 的相关文章

随机推荐

  • Flutter - 图片点击全屏浏览

    demo 地址 https github com iotjin jh flutter demo flutter好用的轮子推荐四 可定制的图片预览查看器photo view flutter九宫格图片查看器 效果图 关于九宫格布局实现 JhPh
  • 方差传递公式

    假设 Y f X 则 Var Y Sigma frac partial f partial x i Var x i
  • vue3-实现父子组件之间的通信(详解+源码)

    前言 vue3相对于vue2的父子传参方式有所改变 本文介绍三种 父组件给子组件传参 父组件调用子组件内的方法 子组件调用父组件的方法 如果不需要一种一种看可以直接下滑看全部代码 有注释也蛮好理解 一 父组件给子组件传参 1 父组件给子组件
  • 毕业设计-基于机器视觉的安全帽佩戴识别系统

    目录 前言 课题背景与意义 课题实现技术思路 目标检测 算法检测 算法实现 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的
  • Java之局部变量的作用域

    1 循环语句中变量 public static void main String args for int i 0 i lt 10 i int sum 3 System out println i sum 就上面最简单的程序说明吧 上面在f
  • 玻纤效应对skew的影响(三)

    玻纤效应对skew的影响 一 玻纤效应对skew的影响 二 对内skew对32Gbps NRZ和64Gbps PAM 4的影响 这一篇中 玻纤效应造成的对内skew将会加入到32Gbps NRZ和64Gbps PAM 4 SerDes全链路
  • 转载-浅析UDS诊断

    文章目录 前言 一 诊断和通信管理功能单元 0x10 DiagnosticSessionControl 0x11 ECUReset 0x27 SecurityAccess 0x28 CommunicationControl 0x3E Tes
  • maven工程编译生成source包

    开发Java服务端项目的时候 经常需要开发SDK作为依赖包提供给目标工程引用 但是目标工程在运行的调试的时候断点到依赖包里面的代码 由于依赖包的代码是编译后端class类 和源码有不少差异 不方便阅读 所以在开发的时候最好生成源码形式的依赖
  • Linux下Android Studio的安装步骤及关键点【整理】

    2013年google公司发布了一个新的Android集成开发环境 Android Studio 它为Android开发者提供了更多便利 而google慢慢地已经把重心放到Android Studio的开发上了 所以对于Android工程师
  • Allegro输出带等长规则的Excel操作指导

    Allegro输出带等长规则的Excel操作指导 Allegro可以输出带等长规则的Excel文件 方便检查和查阅 具体操作如下 打开规则管理器 选择Relative Propagation Delay 选择需要输出的match group
  • 如何清除SQL Server Management Studio的最近服务器列表

    SQL Server Management Studio SSMS 的 连接到服务器 对话框会记录用户所有访问过的服务器名称 这个功能对于经常连接多个数据库的人来说确实挺方便的 不过使用了一段时间之后 这个列表会变得很长 里面还有很多服务器
  • 利用原生js实现随机颜色画布

    这几天复习了一下js的DOM 文档对象模型 部分 看到鼠标事件的时候想到可以试着写一个js画布的案例 一 实现思路 1 利用js绑定鼠标按下事件 鼠标放开事件 在通过鼠标移动事件 获取鼠标所在位置 2 通过鼠标移动事件动态创建节点挂载到页面
  • 家庭实验室系列文章-电脑如何配置网络唤醒 (WOL)?

    前言 其实这个专题很久很久之前就想写了 但是一直因为各种原因拖着没动笔 因为没有资格 也没有钱在一线城市买房 但是在要结婚之前 婚房又是刚需 我和太太最终一起在一线城市周边的某二线城市买了房 再之后 一起装修 她负责非电相关 我负责电 网相
  • 字符串与数组的相互转换

    一 数组转字符串 arr join 指定符号 用指定符号把数组元素连接起来 返回连接好的字符串 let arr 1 2 3 4 arr join 1 2 3 4 arr join 1 2 3 4 二 字符串转数组 多个元素 str spli
  • Android NDK开发-环境搭建(一)

    一 概念 Android NDK Android Native Development Kit 简称NDK Android NDK 是一组允许您将 C 或 C 原生代码 嵌入到 Android 应用中的工具 能够在 Android 应用中使
  • python多进程原理及其实现

    文章目录 1 进程的基本概念 2 父进程和子进程 2 1 父子进程如何区分 2 2 子进程如何回收 3 Python进程模块 3 1 fork 3 2 Process进程 3 3 进程池POOL 多个进程 4 进程间通信方式 5 多进程实现
  • SOLOv2 学习笔记

    博客原文 https blog csdn net weixin 44270815 article details 105283301 模型下载教程 https blog csdn net weixin 44270815 article de
  • Win64安装cx_Oracle过程

    学习python过程中 因需要连接oracle数据库 所以要安装cx Oracle 我的电脑是WIN64 python是2 7版本 本地oracle client是32位的 安装过cx Oracle 5 2 1 11g win amd64
  • js实现word转化为html

  • windows8.1 vs2015 dlib库cpu 版本编译以及应用 library is 90, caller expects 80

    近期由于要做一个关于人脸计数的项目 因此对dlib库进行了编译和使用 其中遇到了不少问题 下面请听我一一道来 第一步 从dlib官网下载dlib源码 链接地址 https github com davisking dlib 第二步 采用cm