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 ...
随机推荐
- 《Python游戏编程快速上手》——1.3 如何使用本书
本节书摘来自异步社区<Python游戏编程快速上手>一书中的第1章,第1.3节,作者[美] Al Sweigart(斯维加特),李强 译,更多章节内容可以访问云栖社区"异步社区& ...
- 《PostgreSQL服务器编程》一一1.3 超越简单函数
本节书摘来自华章计算机<PostgreSQL服务器编程>一书中的第1章,第1.3节,作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著,更 ...
- Java中常用七个阻塞队列的总结
Java队列总结 通过前面文章的学习,我们对Java中常用队列做了介绍.本文,咱们来对队列做个总结吧. 首先,我们介绍了现实生活中的实际场景(排队买票等),来告诉我们为什么需要使用队列. 队列是一种先 ...
- go 模板详说
模板是我们常用的手段用于动态生成页面,或者用于代码生成器的编写等.比如把数据库的表映射成go语言的struct,这些体力活,写个代码生成器是最合适不过的了. 示例例把表转成 struct : 当然这篇 ...
- Anaconda 常用命令大全
帮助目录 检查conda版本 升级当前版本的conda 创建一个新环境 激活新环境 Linux,Mac: Windows: 列出所有的环境 切换环境(activate/deactivate) Linu ...
- Elasticsearch系列---Term Vector工具探查数据
概要 本篇主要介绍一个Term Vector的概念和基本使用方法. term vector是什么? 每次有document数据插入时,elasticsearch除了对document进行正排.倒排索引 ...
- 【漫画】JAVA并发编程之并发模拟工具
原创声明:本文来源于公众号[胖滚猪学编程],转载请注明出处. 上一节[漫画]JAVA并发编程三大Bug源头(可见性.原子性.有序性)我们聊了聊并发编程的三个bug源头,这还没开始进入并发世界,胖滚猪就 ...
- 解决使用nlpir分词,遇到License过期问题
问题:使用pynlpir分词,遇到License过期问题 抛出异常:pynlpir.LicenseError: Your license appears to have expired. Try ru ...
- python重试次数装饰器
目录 重试次数装饰器 重试次数装饰器 前言, 最近在使用tornado框架写Restful API时遇到很多的问题. 有框架的问题, 有异步的问题. 虽然tornado 被公认为当前python语言最 ...
- java基础知识积累总结
参考:http://www.importnew.com/22083.html 参考:http://www.importnew.com/22087.html 十分感谢原作者的汇总,我在这个基础上,有所改 ...