原教程网址:https://jingyan.baidu.com/article/dca1fa6f13bd55f1a44052b9.html

具体教程网上很多,我也相信大家的搜素能力,作为一个初入C++和Opencv的小白,在对Opencv进行环境配置的时候,我有点不明白VS里面的包含目录,库目录,依赖项究竟是用来干嘛的。正如“授人以鱼不如授人以渔”,如果我明白这些名称术语的真正含义,那下次遇到相同的环境配置时,我也就知道该进行哪些具体的配置了。

一、包含目录

首先来看包含目录,其实我们在C++编程的时候经常用到包含,它就是我们每次包含头文件时使用的#include指令,其中的include就是包含的意思。我们在进行标准输入输出流时一定需要添加#include<iostream>指令。而在我们包含自己写的头文件时,比如opencv.h,则写为#include"opencv.h",但这种写法的前提是该头文件必须处于我们的工程目录下。否则必须在#include指令中将该头文件的具体路径写出来,如:#include"C\\Project1\\opencv.h",若你不想写下具体路径,那么系统给出的解决方案是将你所要使用的头文件路径添加到系统的包含目录中,这样编译器会通过包含目录去寻找你所包含的头文件。

所以我们将  你的opencv安装路径\opencv\build\include添加到系统包含路径的意思就是为了让系统知道我们每次使用opencv时#include的opencv相关头文件时去哪里找这些头文件。其实我们可以打开  你的opencv安装路径\opencv\build\include下的文件夹,无论是下面的opencv文件夹还是opencv2文件夹里面都是相关的头文件。

二、库目录

我们在使用opencv库的时候应该首先了解C++的编译过程。要完成C++的编译,需要用到头文件和库文件,而头文件我们已经通过添加包含目录使系统了解去哪里寻找,而库文件则通过添加库目录地址来使系统了解去哪里寻找。而opencv的库文件则是在  你的opencv安装路径\opencv\build\x64\vc15\lib下面,打开该文件夹下你会发现有两个lib文件,这就是opencv的库文件。

这样我们就了解到了库文件的作用了。

三、附加依赖项

附加依赖项其实就是我们使用的库文件的名称,如:opencv_world3410d.lib 。文件名中的数字就是我们使用的版本号,从中可以了解我使用的opencv版本是3.4.10,而库文件中有两个lib文件,文件名中数字后带”d“的就是Debug版本,不带"d"的就是realse版本。大家可以根据需要自行添加。

四、环境变量

其实在搭建opencv环境时还需要添加环境变量。环境变量的作用是当你运行某些程序时除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。path变量告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到path变量指定的目录下去寻找。

opencv3学习1:opencv3.4.10与vs2017环境配置的更多相关文章

  1. Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置

    此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...

  2. Windows 10 IoT Core环境配置中的那些坑

    我使用的设备是Raspberry Pi 3B,想来国内的嵌入式玩具应该还是树莓派最常见吧.这段时间一直在捣鼓Win10 IoT,结果发现,从安装一直到编码调试一路下来全都是坑.写这篇东西一个是为了备忘 ...

  3. Java 学习(1): windows java 运行& 环境配置

    Java 文件的运行 如下,创建了一个 名为"HelloWorld.java" 的 Java 文件: public class HelloWorld { public static ...

  4. Maven学习归纳(一)——简单的环境配置入门

    一.Maven的基本概念 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的编译,测试,构建,报告和文档的软件项目管理工具和解决依赖关系的工具. 1.1 项目的构建 项目的构建 ...

  5. OpenCV3.2.0+VS2017环境配置与常见问题(巨细坑爹版)

    目录 安装 常见问题 题外话:首先,配环境一定要有耐心... 本博客是本小白第一次装OpenCV成功后第一时间整理发布.用的是刚下载好的OpenCV3.2.0版,用x64编译器Debug运行(当然Re ...

  6. Spark学习笔记2(spark所需环境配置

    Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...

  7. PyTorch深度学习入门笔记(一)PyTorch环境配置及安装

    @ 目录 一.工具安装 1.1 Anaconda 安装 1.2 Pytorch安装 二.编辑器安装 2.1 Pycharm安装 2.2 Jupyter安装 OS: ubuntu 20.04(虚拟机) ...

  8. macOS Sierra 10.12.6 odoo 10.0 开发环境配置

    参考了网上的一些教程,将最终过程记录一下,其中需要的一些程序,我已经放到百度网盘: https://pan.baidu.com/s/1boKHSTL 1.抹盘安装macOS Sierra 10.12. ...

  9. OpenCV2.4.10 + VS2010开发环境配置

    原文转载自:qinyang8513 一.开发环境 1.操作系统:Windows 7(64位) 2.编程环境:Microsoft Visual Studio 2010 3.OpenCV版本:2.4.10 ...

随机推荐

  1. KafkaConsumer assign VS subscribe

    背景 在kafka中,正常情况下,同一个group.id下的不同消费者不会消费同样的partition,也即某个partition在任何时刻都只能被具有相同group.id的consumer中的一个消 ...

  2. R 语言命令行参数处理

    在unix.windows外部需要调用R脚本执行,然后又需要输入不同的参数,类似shell脚本的命令行参数输入,可以使用Rcript命令实现. 命令格式:Rscript [options] [-e e ...

  3. CentOS 7 网络优化(升级内核、开启 BBR)

    我之前介绍过关于 TCP 一些优化,包括安装使用 TCP 优化软件,这些适用于较低版本的 CentOS 系统,例如 CentOS 6,详细可参考<Linux 下的一些简单的 TCP 优化> ...

  4. 难道你现在还不知道:C/S和B/S

    随着网络技术的不断发展,各种各样的网络应用程序大爆发.运用最多的架构是基于浏览器+服务器的B/S结构,另一种是基于的 C/S结构. 概述: BS = Browser / Server =浏览器+服务器 ...

  5. 杭电的题,输出格式卡的很严。HDU 1716 排列2

    题很简单,一开始写代码,是用整数的格式写的,怎么跑都不对,就以为算法错了,去看大佬们的算法STL全排列:next_permutation(); 又双叒叕写了好几遍,PE了将近次,直到跑了大佬代码发现, ...

  6. 数学--数论--hdu 5878 I Count Two Three(二分)

    I will show you the most popular board game in the Shanghai Ingress Resistance Team. It all started ...

  7. MySQL命令1

    开始学习MySQL. // 创建数据库 CREATE DATABASE db_name; // 删除数据库 DROP DATABASE db_name; // 显示数据库 SHOW DATABASES ...

  8. Linux之《荒岛余生》(一)准备篇

    xin片之争,已经暴露了中国xin的问题,我等码农束手无策:而在操作系统方面,成果也是乏善可陈:现如今酷炫的Web监控工具,让很多研发丧失了真正处理问题的能力. 越接近底层,就越接近真相,在计算机的世 ...

  9. Java集合简单介绍

    再最前面分享一下我再学习集合时的方法: 1.首先了解各集合的定义和特点 2.集合的构造方法和常用方法(增删改查等) 3.了解集合使用的场景,再什么情况下使用什么类型的集合(关键是集合的特性) 4.了解 ...

  10. FOC 电流采样为什么不准?你忽略了这个细节

    文章目录 1 引言 2 延迟类型及典型时间 3 延迟源详细分析 3.1PWM死区时间插入 3.2 光耦延迟和预驱动器延迟 3.3晶体管开关延迟 3.4其他延迟 4 结语 在电机驱动的FOC控制开发过程 ...