00 在VS2010中編譯OpenCV 2.1

Post date: 2012/4/10 上午 08:35:58

最近開始使用VS2010了,突然想到以前有在用OpenCV。所以就想開始準備一下在VS2010中使用OpenCV。

首先當然是要下載OpenCV的最新版本囉。一開始我用Google查詢時,它將我帶到SourceForge中的OpenCV 2.0.0a版。我以為這已是最新的版本,後來才發現最新的是2.1版。於是就下載OpenCV 2.1。

下載完畢後,先將它解壓縮。解開後裏面有很多檔案,可是就是找不到VS2010可用的方案檔(*.sln)。於是就去看了一下OpenCV裏的doc目錄,看看說明文件中有沒有說明如何用VS2010來編譯OpenCV。果然裏面有提到這部份。

但是要用VS2010來編譯OpenCV的話,首先要能產生VS2010可以使用的.sln檔。在OpenCV中它提到要使用CMake來產生其它編譯器所需的相關專案檔案。於是就去下載了最新的CMaker 2.8

下載完成後,就先將CMaker 2.8安裝起來。不過,因為先前在下載CMaker時有看到網站中有一段說明,大意是說CMaker2.8是在VS2010之前發行的版本,所以對VS2010的支援會有些問題,需要再更新它的模組檔。所以我就下載CMakeVS10FindMake.cmake,將它更新到CMaker安裝目錄中的Modules裏。

接著就是照OpenCV的說明文件中使用CMake GUI介面的方式來產生VS2010的方案檔。正確的方式如下圖:在Where is the source code欄中,請填入OpenCV2.1的根目錄,而不要以為它要的是OpenCV2.1目錄下的src目錄(如第二張圖)。如果填錯的話,可能會得到如第二張圖那樣的結果,最後是無法正確產生VS2010所需的方案檔的。

一切都沒有設錯的話,最後按下「Generate」後,到你指定的輸出目錄中就可以看到VS2010的方案檔了。

我開啟方案檔並建置後,是看到有不少警告,不過最後也都正確地建置成功了。

當然在這篇文章中也有介紹如何產生VS2010所需的方案檔,不過,這篇文章的作者還多加了TBB的功能。這是我沒有加的部份。有需要的人也可以參考一下。