opencv3学习1:opencv3.4.10与vs2017环境配置
原教程网址: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环境配置的更多相关文章
- Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置
此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...
- Windows 10 IoT Core环境配置中的那些坑
我使用的设备是Raspberry Pi 3B,想来国内的嵌入式玩具应该还是树莓派最常见吧.这段时间一直在捣鼓Win10 IoT,结果发现,从安装一直到编码调试一路下来全都是坑.写这篇东西一个是为了备忘 ...
- Java 学习(1): windows java 运行& 环境配置
Java 文件的运行 如下,创建了一个 名为"HelloWorld.java" 的 Java 文件: public class HelloWorld { public static ...
- Maven学习归纳(一)——简单的环境配置入门
一.Maven的基本概念 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的编译,测试,构建,报告和文档的软件项目管理工具和解决依赖关系的工具. 1.1 项目的构建 项目的构建 ...
- OpenCV3.2.0+VS2017环境配置与常见问题(巨细坑爹版)
目录 安装 常见问题 题外话:首先,配环境一定要有耐心... 本博客是本小白第一次装OpenCV成功后第一时间整理发布.用的是刚下载好的OpenCV3.2.0版,用x64编译器Debug运行(当然Re ...
- Spark学习笔记2(spark所需环境配置
Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...
- PyTorch深度学习入门笔记(一)PyTorch环境配置及安装
@ 目录 一.工具安装 1.1 Anaconda 安装 1.2 Pytorch安装 二.编辑器安装 2.1 Pycharm安装 2.2 Jupyter安装 OS: ubuntu 20.04(虚拟机) ...
- macOS Sierra 10.12.6 odoo 10.0 开发环境配置
参考了网上的一些教程,将最终过程记录一下,其中需要的一些程序,我已经放到百度网盘: https://pan.baidu.com/s/1boKHSTL 1.抹盘安装macOS Sierra 10.12. ...
- OpenCV2.4.10 + VS2010开发环境配置
原文转载自:qinyang8513 一.开发环境 1.操作系统:Windows 7(64位) 2.编程环境:Microsoft Visual Studio 2010 3.OpenCV版本:2.4.10 ...
随机推荐
- 【STM32 .Net MF开发板学习-05】PC通过Modbus协议远程操控开发板
从2002年就开始接触Modbus协议,以后陆续在PLC.DOS.Windows..Net Micro Framework等系统中使用了该协议,在我以前写的一篇博文中详细记载了这一段经历,有兴趣的朋友 ...
- Node Mysql事务处理封装
node回调函数的方式使得数据库事务貌似并没有像java.php那样编写简单,网上找了一些事务处理的封装并没有达到自己预期的那样简单编写,还是自己封装一个吧.封装的大体思路很简单:函数接受一个事务处理 ...
- #Week1 Introduction
一.What is Machine Learning 课程里主要给了两个供参考的定义: By Arthur Samuel: Field of study that gives computers th ...
- C#时间与时间戳格式互相转化
C#时间格式转换为时间戳(互转) 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. using UnityEn ...
- 数学--数论--HDU--5878 Count Two Three 2016 ACM/ICPC Asia Regional Qingdao Online 1001
I will show you the most popular board game in the Shanghai Ingress Resistance Team. It all started ...
- POJ - 3278 Catch That Cow 简单搜索
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. ...
- 一只简单的网络爬虫(基于linux C/C++)————支持动态模块加载
插件在软件设计中有很大的好处,可以方便地扩展各种功能,使用插件技术能够在分析.设计.开发.项目计划.协作生产和产品扩展等很多方面带来好处: (1)结构清晰.易于理解.由于借鉴了硬件总线的结构,而且各个 ...
- Navicat,SQL注入,pymysql模块
# 关键字exists(了解) 只返回布尔值 True False 返回True的时候外层查询语句执行 返回False的时候外层查询语句不再执行 select * from emp where exi ...
- 记一次面试过程中的Python编程题
这几天面试过程中遇到一道Python编程题,题目如下: 面试中遇到一个Python编程问题:一个字符串,将里面的数字取出来,如果第一个数字前面是+,表示整个数字为正数,如果第一个数字前面是-,表示数字 ...
- uniapp滚动监听元素
鸽了这么久,一晃2个月过去了.自考+上班没时间记录. 前不久看到移动官网上的时间轴效果,看起来不错,我也来试着做一下. 需要元素滚动到视野内加载动画. 插件地址 https://ext.dcloud. ...