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 ...
随机推荐
- Font-Awesome使用教程
何为Font-Awesome Font Awesome gives you scalable vector icons that can instantly be customized — size, ...
- CloudCC CRM探讨:精细流程管理与员工悟性培养
很多企业主招聘时更喜欢专业的销售,来给他们创造价值.老板不愿意花时间在"磨刀上",而喜欢员工一来就"砍柴".即使是建立培训机制,仍然很大程度依赖于员工自己的悟性 ...
- 数学--数论--随机算法--Pollard Rho 大数分解算法(纯模板带输出)
ACM常用模板合集 #include <bits/stdc++.h> using namespace std; typedef long long ll; ll pr; ll pmod(l ...
- Android 自定义View—清爽小巧灵活的多节点进度条
前言 最近项目有一个节点进度条的小需求,完成后,想分享出来希望可以帮到有需要的同学. 真机效果图 自定义View完整代码 开箱即用~,注释已经炒鸡详细了 /** * @description: 节点进 ...
- MySQL命令1
开始学习MySQL. // 创建数据库 CREATE DATABASE db_name; // 删除数据库 DROP DATABASE db_name; // 显示数据库 SHOW DATABASES ...
- OSG程序设计之Hello World1.0
对于从未接触过OSG的我来说,首先需要一个入门教程.在OSG论坛逛了半天,再加上google,最终决定使用<OSG程序设计>这本书. 下面就贴出书中的第一个例子:Hello World. ...
- 在linux上部署自己开发的web项目
在linux上部署自己开发的web项目 前言:相信有很多做开发的小伙伴和我之前一样,只会在windows环境下,利用开发工具开发运行web项目,但是却不知道怎么把开发好的项目部署到linux服务器上去 ...
- SpringBoot系列(十三)统一日志处理,logback+slf4j AOP+自定义注解,走起!
往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)we ...
- P2816 宋荣子搭积木
描述:https://www.luogu.com.cn/problem/P2816 saruka非常喜欢搭积木,他一共有n块积木.而且saruka的积木很特殊,只能一块块的竖着摞,可以摞很多列.说过s ...
- 数据结构与算法:栈(Stack)的实现
栈在程序设计当中是一个十分常见的数据结构,它就相当于一个瓶子,可以往里面装入各种元素,最先装进这个瓶子里的元素,要把后装进这个瓶子里的全部元素拿出来完之后才能够把他给拿出来.假设这个瓶子在桌上平放,左 ...