VS配置Opencv原理

来源:互联网 发布:淘宝充值平台入口 编辑:程序博客网 时间:2024/05/29 13:53

Vs2010配置opencv的步骤可以我的这篇blog:

http://blog.csdn.net/lu597203933/article/details/11175811.  配置主要包括4点配置:环境变量的配置;vc++目录中包含目录和库目录的配置;链接器输入的配置。在介绍这四点配置前,我首先想简单介绍下.lib文件和.dll文件:

一:.lib文件和.dll文件

(1)lib是编译时需要的,dll是运行时需要的。

如果要完成源代码的编译,有lib就够了。

如果也使动态连接的程序运行起来,有dll就够了。

在开发和调试阶段,当然最好都有。

(2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。

(3)在动态库的情况下,有两个文件,一个是引入库(.LIB)文件,一个是DLL文件,引入库文件包含被DLL导出的函数的名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行是再把程序代码和被调用的函数代码链接起来,从而节省了内存资源。从上面的说明可以看出,DLL和.LIB文件必须随应用程序一起发行,否则应用程序将会产生错误。

二:配置原理

(1)    vc++目录下包含目录的配置

包含目录配置路径为#include所包含的头文件如cv.h等所在的目录。这个就不用多解释了。

(2)    vc++目录下库目录和链接器输入的配置

库目录配置的路径为.lib文件所在的目录,这里你所要配置的.lib就是链接器中的输入的lib文件。这里的lib文件当然只是索引信息,真正的函数实现是在dll文件中的。这样当缺失相应的dll文件,在编译截断是不会发现任何错误的。

(3)    环境变量的配置

环境变量配置路径是dll文件所在的目录,这样当程序运行阶段时,使用相应的dll文件就可以通过计算机的环境变量找到相应的文件。

以上是个人总结,如有错误,请批评指正。。。

参看的blog:

<1>VS配置openCV方法论:http://blog.csdn.net/honpey/article/details/8474462

<2>lib和dll文件的区别和联系:http://www.cnblogs.com/devilmsg/articles/1266336.html

作者:小村长  出处:http://blog.csdn.net/lu597203933 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:http://weibo.com/2653613245/profile , 欢迎交流!)

0 0