天天看點

使用屬性表:VS2013上配置OpenCV

以前,windows下配置OpenCV一直不太友善:總是要手動添加lib,添加include,還要配置PATH使得程式運作時候能找到dll檔案。

每次建立一個使用OpenCV的工程都要手動添加,很麻煩;而且,有時候需要不同版本的OpenCV測試。如果從32位模式切換到64位模式,又需要替換一次配置。。一旦有一個配錯了,就總是徘徊在各種配置項的檢查上。

後來,看到了freedomshe用屬性表進行配置,其提供的屬性表檔案确實友善,但是還是需要手動配置OpenCV環境變量、追加OpenCV中的bin目錄到PATH上(bin中有dll檔案)。能不能不配置?(免得保不準自己又要重新開機機器...)

答案當然是可以!

配置OpenCV環境變量的目的在于,include路徑、lib路徑都使用這個字首,能減少打字的次數;同時也是要把opencv的幾個dll檔案所在路徑,追加到系統PATH上。

隻要我們在屬性表檔案中自行定義OpenCV根目錄,添加include路徑、lib路徑,添加dll目錄,以後使用OpenCV的項目隻需要導入這個屬性表就OK了,太簡單了!

當然,以前的老版本中的各種dll和lib分成好多個檔案,現在的版本如果編譯了<code>opencv_contrib</code>也會有額外的dll和lib,這些需要的時候再添加就好了。

廢話不多說,這是OpenCV3.0.0的通用屬性表檔案opencv300.props

如果是opencv3.1那麼lib隻需要配置opencv_world310,對應的屬性表檔案為:

當然有時候需要使用OpenCV_contrib,那麼編譯好contrib後就增加了很多dll和lib,對應的屬性表檔案是這樣的(opencv3.1版):

===========

P.S. 有人可能會問,上面的屬性表XML檔案裡面的各屬性是如何确定的?屬性值容易設定,屬性名确實不是一眼看出來的。

可以通過建立一個工程,在工程的屬性中手動設定VC++、C/C++、連結器等條目中的項,進行設定後vs2013會寫入到/.vcxproj.user這個檔案中。手動在GUI界面中設定了需要的屬性後,檢視.vcxproj.user檔案,把需要的屬性剪切到屬性表檔案中,以後同類型的工程就可以僅僅使用此屬性表檔案進行配置了。比如dll的路徑,通過目前工程的屬性-&gt;調試-&gt;工作目錄進行設定:

使用屬性表:VS2013上配置OpenCV

繼續閱讀