vs2019永久配置opencv开发环境的方法步骤

所属分类: 软件编程 / C 语言 阅读数: 112
收藏 0 赞 0 分享

有很多同学肯定想学习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模式下用。记住一次放一个文件就好了,只要对应了模式就行。

设置完了,然后贴上代码,效果如下图。如果我的脸是个二维码就可以在控制台输入内容了。

教程到这里是结束了,我们要注意的东西,就是前两步导入头文件和库文件是一次修改,一直有效果,然后链接器里的附加依赖项是需要我们每次建项目都要注意的,所以大家最后一步一定要记得在哪里设置。例子使用的是如图所示的代码。

更多精彩内容其他人还在看

用标准c++实现string与各种类型之间的转换

这个类在头文件中定义, < sstream>库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。另外,每个类都有一个对应的宽字符集版本
收藏 0 赞 0 分享

C++如何通过ostringstream实现任意类型转string

再使用整型转string的时候感觉有点棘手,因为itoa不是标准C里面的,而且即便是有itoa,其他类型转string不是很方便。后来去网上找了一下,发现有一个好方法
收藏 0 赞 0 分享

C/C++指针小结

要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区
收藏 0 赞 0 分享

C++ 类的静态成员深入解析

在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和成员函数使用规则,再给出一个实例来加深印象
收藏 0 赞 0 分享

C++类的静态成员初始化详细讲解

通常静态数据成员在类声明中声明,在包含类方法的文件中初始化.初始化时使用作用域操作符来指出静态成员所属的类.但如果静态成员是整型或是枚举型const,则可以在类声明中初始化
收藏 0 赞 0 分享

C++类静态成员与类静态成员函数详解

静态成员不可在类体内进行赋值,因为它是被所有该类的对象所共享的。你在一个对象里给它赋值,其他对象里的该成员也会发生变化。为了避免混乱,所以不可在类体内进行赋值
收藏 0 赞 0 分享

C++中的friend友元函数详细解析

友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。友元函数的特点是能够访问类中的私有成员的非成员函数。友元函数从语法上看,它与普通函数一样,即在定义上和调用上与普通函数一样
收藏 0 赞 0 分享

static全局变量与普通的全局变量的区别详细解析

以下是对static全局变量与普通的全局变量的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

C++ explicit关键字的应用方法详细讲解

C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?下面就让我们一起来看看这方面的知识吧
收藏 0 赞 0 分享

教你5分钟轻松搞定内存字节对齐

随便google一下,人家就可以跟你解释的,一大堆的道理,我们没怎么多时间,讨论为何要对齐.直入主题,怎么判断内存对齐规则,sizeof的结果怎么来的,请牢记以下3条原则
收藏 0 赞 0 分享
查看更多