Opencv配置的原理和方法

Opencv对VS来说是第三方软件,为了能在vs编程时使用它,必须手动进行配置。Opencv是动态或静态链接库,在使用时需要满足以下两条才能使用:
1.在程序中包含所用函数的头文件,头文件都在opencv\build\include下面。
2.调用函数体,以链接库的形式给出。这部分在opencv\build\x86\vc11下面。其中lib和bin是属于动态链接库,staticlib属于静态链接库。
如何在程序编译和运行时找到上面的文件?
1.Bin 文件夹属于可执行的函数体,在vs属性表中没有地方可以配置或给出,因此需要放到系统变量中,使得程序在应用到某dll文件时可经系统变量搜到。如果不想配置系统变量,也可以用到的dll文件拷贝到工程当地也可以,总之只要让程序能找到它就可以。
系统变量配置方法是在系统变量PATH的后面追加D:\opencv\build\x64\vc11\bin 就可以,记住是追加!PATH原来的内容千万不要动,否则可能会引起各种程序不能运行等严重后果。
2. 头文件可以在vs属性表中进行配置。其中头文件在 属性表 vc++目录下的包含目录添加include文件夹的路径,记住要加三个路径:D:\opencv\build\include;D:\opencv\build\include\opencv;D:\opencv\build\include\opencv2,缺一不可。为什么要加D:\opencv\build\include不清楚,但不加就找不到头文件。
3.lib文件也在vs属性表中进行配置。lib在属性表 vc++目录下的库目录添加D:\opencv\build\x86\vc12]\lib,然后将其中用到的lib文件添加到链接器-输入-附加依赖项中。附加依赖项的作用是其中的文件都会在编译时打包进最后的exe文件中。配置好后,程序在遇到#include<>时就会根据包含目录提供的路径去找文件,而在编译时在打包附加依赖项文件时就会根据库目录提供的路径去找。
4.上面是动态链接库的设置,如果用静态链接库staticlib则不用配置系统变量,只需要配置属性表就可以。头文件配置同上, lib在属性表 vc++目录下的库目录添加D:\opencv\build\x86\vc11\staticlib,然后将staticlib目录中的lib文件添加到链接器-输入-附加依赖项中。注意,由于staticlib中的lib文件都比较大,采用静态链接库staticlib会导致程序比较大。如果对程序大小有要求,则可在附加依赖项中只加用到的opencv的lib,不用的都删除。

你可能感兴趣的:(编程)