上一篇文章说了,OpenCV是C++作图像处理的一个常用开源库,VS安装的C++编译环境中没有预装OpenCV函数库,需要我们自己按照安装C++第三方库的方法安装。
首先我们从opencv.org官网下载OpenCV的库,下载下来的是一个压缩文件,需要我们自己解压,加压后的函数库包含一系列的文件夹,其中最重要的是位于opencv/build/文件夹中的以下几个,其中opencv/是根目录;build代表已经编译好的文件;X64指的是给64位的运算环境,另一个是X86对应于32位环境;VS15是指适用于VS2017,其他版本的VS分别可对应于VS10--VS14,VS15是最新版的VS2017对应的版本。
1.opencv/build/include--> 包含目录
2.opencv/build/x64/VS15/lib--> 库目录
3.opencv/build/x64/VS15/bin--> 可执行目录
这三个目录是C++要使用OpenCV库函数需要用到的文件库,所以要添加到VS C++环境中。有两中添加方法:一种是添加到VS C++全局环境中,另一种是只添加到需要用到的工程中,我用第二种方法添加,这样用起来更加灵和。
可执行文件目录的路径需要添加在环境变量路径中,结果如下:
可执行文件路径添加在系统环境变量中库目录和包含目录的路径则需要添加在VS C++的工程中,添加方法如下:右击工程--属性--VC++目录,在右边的选项中分别将opencv/build/include;opencv/build/include/opencv; pencv/build/include/opencv三个路径添加在包含目录中,将opencv/build/x64/VS15/lib添加在库目录的路径中,添加完后结果如下:
包含目录和库目录的添加路径同样是在工程属性中,选择链接器--输入属性,在右边添加附加依赖项opencv_world344.lib和opencv_world344d.lib。前者是release版本,后者debug版本。344是根据OpenCV版本不同而不同,也可能是320等。
链接器--输入属性--附加依赖项添加项至此,所有的OpenCV在VS C++环境中的依赖关系全部添加好了。但是我还是遇到了以下问题,虽然很烦,但是都一一解决了:
1.X86和X64冲突问题:
“模块计算机类型“x64”与目标计算机类型“X86”
解决方法:在很多的安装教程中,说如果电脑是64位操作系统则使用X64位的OpenCV版本,如果是32位的操作系统则使用X86版本的OpenCV。其实这个是不正确的,因为VS C++环境64位或32位平台不是由操作系统决定的,而是用户自己选择,如下图:
VS C++环境 64位/32位的设置上图中,配置选项一般选择Debug,另一个选择是Release;平台选项就是选择64位还是32位编译平台。这个不是根据操作系统来确定的,是可以自由选择(或者按需选择),但是平台选择必须和OpenCV的版本一致,我下载的OpenCV是X64,所以我必须选择X64平台。如果想用32位平台,那就下载X86的OpenCV。
2.无法打开库文件
无法打开文件 opencv_world344d.lib
只要是已经将opencv_world344d.lib添加在链接器的附加依赖项中,这个问题是不会出现的。我之所以出现,是因为将库目录的路径开始写错了,写成了opencv/build/x64/VS15/bin,而正确的应该是opencv/build/x64/VS15/lib。
3.找不到执行文件
找不到opencv_world344d.dll
接二连三的问题真是奔溃了,但是问题还是得解决,结果原因很简单。我在添加环境变量路径之前已经打开了VS,所以VS此时还识别不了新添加的路径,必须重启VS。重启之后顺利解决问题,最后终于大功告成。。
网友评论