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 ...
随机推荐
- 《Splunk智能运维实战》——1.7 为本书加载样本数据
本节书摘来自华章计算机<Splunk智能运维实战>一书中的第1章,第1.7节,作者 [美]乔史·戴昆(Josh Diakun),保罗R.约翰逊(Paul R. Johnson),德莱克·默 ...
- AMD 开源照片级渲染引擎 Radeon ProRender
除了Radeon Pro WX.Radeon Pro Solid State两款全新的专业显卡,AMD今天还宣布,Radeon ProRender渲染引擎即将开放源代码,开发人员可任意使用.AMD去年 ...
- Linux下创建软、硬链接
在linux系统中,内核为每一个新创建的文件分配一个Inode(索引节点),每个文件都有唯一的inode号.文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存,从而实现文件的快速访问. 链接 ...
- RF(三层封装设计)
一.用例分层思想 元素层:需要导入 Selenium2Library 库 包含所有的元素定位 流程层:需要导入 元素层.txt 资源 封装用例流程 案例层:需要导入 流程层.txt 资源 输出用例,传 ...
- Java——Java面向对象
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 概述: Java是面 ...
- Tunnel Warfare 线段树 区间合并|最大最小值
B - Tunnel WarfareHDU - 1540 这个有两种方法,一个是区间和并,这个我个人感觉异常恶心 第二种方法就是找最大最小值 kuangbin——线段树专题 H - Tunnel Wa ...
- mac下使用xampp中php显示1044/1045/1046(卸载xampp)
问题描述 在mac下使用xampp,访问http://192.168.64.3/phpmyadmin/可以正常显示php页面,当创建数据库时提示1044也就是普通用户没有权限 问题猜测 猜测在使用xa ...
- Python Web实战:Python+Django+MySQL实现基于Web版的增删改查
前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...
- 【漫画】JAVA并发编程 如何解决原子性问题
原创声明:本文转载自公众号[胖滚猪学编程],转载务必注明出处! 在并发编程BUG源头文章中,我们初识了并发编程的三个bug源头:可见性.原子性.有序性.在如何解决可见性和原子性文章中我们大致了解了可见 ...
- asp.net core + entity framework core 多数据库类型支持实战
根据微软官方文档的说法,有两种方法可以实现在一个app中同时适应多种不同类型的数据库,并且全部支持migrations操作.其一,使用两个dbcontext:其二,修改migration文件,添加特定 ...