其實已經有一些資料介紹了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