我们暂且不讨论静态库和动态库谁好谁坏了吧,设计初衷不同而已。而且有时候你在和别人对接项目的时候,对方要求你给一个干干净净的lib文件和h头文件(或者一个exe)就行的时候,你总得满足对方的要求吧。试想一下要是我们从网上下载所有的软件都要我们附带下载很多dll,然后自己去配置如何调用的话,那得是何等的烦人!所以静态调用别人的库,以及把自己的代码生成静态库给别人调用的方法还是得掌握。
![](https://img-blog.csdn.net/20170822164427464?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd29haW5pc2hpZnU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如何自己编译生成OpenCV的静态库可以参考我的另外一篇博客《VS2015+CMake编译OpenCV2.4.13静态库》
第一部分:静态调用OpenCV
使用VS2015新建一个Win32控制台应用程序,假设我们这个项目中是要用到OpenCV的函数的,那么就要配置OpenCV的路径,其实静态调用和动态调用大体上的配置方法是一样的,只是静态调用就不需要配置dll的路径了而已,这也意味着你不需要配置什么系统环境变量了。
注意:以下配置都需要在Debug和Release模式下分别设置一次,如果你设置好了发现还是找不到定义,检查一下你是不是Debug和Release模式下都设置正确了。
1. .h头文件和.lib静态库文件路径配置:
选择项目->属性->配置属性->VC++目录:
在该选项下找到“包含目录”和“库目录”,
包含目录:对应.h头文件的存放位置,也就是你编译opencv之后的include文件夹,要将下面三个路径都添加进去: