vs2019永久配置opencv开发环境的方法步骤
作者:Gil Zhang 发布时间:2023-11-02 19:38:58
有很多同学肯定想学习opencv相关的知识,但是有些情况下每建一次项目都要重新引入下各种文件是不是很苦恼,所以我也面临了这个问题,在网上看到很多的同学的方法,有的也都是很一样的,将什么.dll加入环境变量,然后设置项目配置文件什么的,这些东西我也尝试过,但是很容易忘记,我也特意写了一些笔记,但是有时还是会忘记。恰巧我也升级了vs2019,所以也打算更新下方法,做到一劳永逸。下面是教程部分。首先我们要安装好我们的opencv,然后我们安装以后会看到生成的文件夹。如图
这一切就是基础文件,所以这个务必要准备好。其次就是准备好vs2019.然后勾选上c++桌面开发相关的东西。 当然了 我们需要准备一个控制台程序,就是hello world那个程序。然后将如图的路径加入到系统环境变量里。如果项目已经建好了,请重启vs重新加载系统变量。
剩下的就是一些骚操作了。请注意观看,直接右击项目,然后进入属性设置。 需要注意的选项我都标出来了。
首先进入包包含目录。我看标出的这个目录比较眉清目秀,所以我选择了它。复制下来,从资源管理器进入这个目录。
进入之后,可以看到如图所示标出的文件夹是不是似曾相识,没错,就是我们安装的opencv的build目录下的include目录里的内容。这里面的东西大家应该很清楚吧,就是opencv用到的头文件都在这里面。所以把它复制进来,我们建项目时候就不会报头文件找不到的bug了。
包包含目录只需要做这步就好了。下面是库目录,做法和上面的类似,选个眉清目秀的目录进去。我选的还是第一个目录。
进入目录可以看到如下的目录结构,所以我们把opencv \opencv\build\x64\vc14\lib 目录里的两个库文件给拷到了这个目录里。
现在是又有头文件,又有库文件了吧,按理说我们应该是可以搞一波了,不信我们我贴个例子试一试。我贴了一个 opencv扫二维码的例子,结果报错,编译不过,这太伤人心了。
看了这么多我都慌了,这什么情况,要不不学了吧,我想说大家别慌,继续往下做。提示是无法解析各种东西,这个问题的原因就是我们少做了一样。是什么呢?我们在项目属性里,把链接器里的输入里的附加依赖项点开。
图上有两个文件,一个带d一个不带d带d的表示在debug模式下用,不带d的表示在release模式下用。记住一次放一个文件就好了,只要对应了模式就行。
设置完了,然后贴上代码,效果如下图。如果我的脸是个二维码就可以在控制台输入内容了。
教程到这里是结束了,我们要注意的东西,就是前两步导入头文件和库文件是一次修改,一直有效果,然后链接器里的附加依赖项是需要我们每次建项目都要注意的,所以大家最后一步一定要记得在哪里设置。例子使用的是如图所示的代码。
来源:https://blog.csdn.net/weixin_43500426/article/details/89048402


猜你喜欢
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- Java中如何输出像1-2-3-4-5 这样的字符抱歉对于这个问题我甚至不能想到一个合适的标题,但是不重要 以下操作基于 jdk 1.8St
- 本节我们主要介绍 Ribbon 的一些常用配置和配置 Ribbon 的两种方式。常用配置1. 禁用 Eureka当我们在 RestTempl
- 如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HT
- 在java中我们常常使用加锁机制来确保线程安全,但是如果过度使用加锁,则可能导致锁顺序死锁。同样,我们使用线程池和信号量来限制对资源的使用,
- 本文实例讲述了Android编程实现获得内存剩余大小与总大小的方法。分享给大家供大家参考,具体如下:public class memInfo
- strcpy与memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制
- 本文实例讲述了C#异步调用的方法。分享给大家供大家参考。具体如下:using System;using System.Collections
- 本文实例讲述了Android编程实现图片平铺的方法。分享给大家供大家参考,具体如下:1)第一种利用系统提供的api实现Bitmap bitm
- 先看一下效果图:<?xml version="1.0" encoding="utf-8"?&g
- 前言关于mybatis-plus的简介以及基本使用,我在《SpringBoot整合mybatis-plus–入门超详细》一文中已做介绍,此处
- Android中广播(BroadcastReceiver)的详细讲解.1. BroadcastReceiver的注册过程: (1).广播消息
- 前言Spring5带来了新的响应式web开发框架WebFlux,同时,也引入了新的HttpClient框架WebClient。WebClie
- 我们经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供DecimalFormat类,帮你用最快的速度将数字格式化为你需要的
- 实践过程效果代码public partial class Form1 : Form {
- 一、相关介绍Gradle是一个好用的构建工具 ,使用它的原因是:配置相关依赖代码量少,不会像maven一样xml过多 打包编译测试
- Java 8新特性方法引用对于引用来说我们一般都是用在对象,而对象引用的特点是:不同的引用对象可以操作同一块内容!Java 8的方法引用定义
- 这篇文章主要介绍了JavaWeb项目Servlet无法访问问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- Android中SQLite 使用方法详解现在的主流移动设备像android、iPhone等都使用SQLite作为复杂数据的存储引擎,在我们
- Java8的groupingBy实现集合的分组,类似Mysql的group by分组功能,注意得到的是一个map对集合按照单个属性分组、分组