其实已经有一些资料介绍了OpenCV1.0如何编译为静态库,但这些资料多为针对vc6.0的。最近试了许久,才终于在VS2005下编译出了一个独立的应用程序。如今将设置关键记录一下。测试
首先,OpenCv项目中,cv,cvaux,cvcore,cxts,highgui,ml几个工程,是须要编译为静态库的,其它的是测试用的工程。这几个库,有部分没有OpenMD优化,因此设置的时候,就选择Release版就好了。这些工程都须要在属性设置中设置:优化
General->Ouput Directory: 最好把每一个工程的这个属性设置成一个共公的目录,以方便别的应用程序引用ui
General->Configuration Type: Static Library (.lib).net
C++ -> Code Generation ->Runtime Library : Multi-threaded (/MT)(debug版时要设为 Multi-threaded Debug(/MTd))debug
对为highgui这个工程,还要额外设置blog
librarian -> General -> Additional library directories: .../OpenCV/otherlibs/_graphics/lib (注意改为本身的)ci
librarian -> General -> Additional Dependencies : 写入以上目录里的个个.lib,注意不要写成x64或bcc的版本get
当要编译独立应用程序时(主要是Release版),关键的地方it
C++ -> Code Generation ->Runtime Library:Multi-threaded (/MT)io
Linker -> Input -> Ignore Specific Library: libcmt.lib(也许还会有其它的)
再设置包括相应的.lib库,就能够独立运行了。再也不须要那几个.dll文件了。不过,.exe文件也一下大了不少。
此文已通过时,请参考新篇http://blog.csdn.net/jarodpku/archive/2008/10/15/3081298.aspx