使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio 2005/
首先声明在Visual Studio 2008/2010下使用OpenCV不需要再编译OpenCV-2.4.0,原因是在OpenCV-2.4.0.exe解压后会产生build文件夹,其中有很多目录,我们注意到x86文件夹,里面又有vc9、vc10等文件夹(包含debug和release版本),使用这些文件我们可以直接配置OpenCV-2.4.0,这里讲述编译方法只是一时兴起。配置方法详见本人其他文章:OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008和VisualStudio 2010配置方法详解,这里不对这方面的知识进行讲解。
我们将要使用的工具有:Visual Studio 2005/2008 Professional、Visual Studio 2010 Ultimate、cmake、intel tbb、OpenCV-win源代码(注意是Windows下的源代码,linux源码编译会产生错误)。
下面,我们就来介绍如何使用OpenCV-win源代码编译OpenCV目标文件吧。
一、生成项目文件
1.首先,我们将预使用的OpenCV-win源代码放置到指定目录
我在“C:\ProgramFiles”目录下新建一个“OpenCV”目录,并在里面新建一个src目录并将OpenCV-win源码放置到该文件夹,目录结构如图1所示:
图1 C:\ProgramFiles\OpenCV\src内的目录结构
2.下载并安装配置intel tbb
这里我把intel tbb解压后的文件夹放置到“C:\Program Files”目录下(如图2所示),然后将intel tbb的bin目录添加到系统环境变量,在桌面上右击“计算机”,选择“属性-高级系统设置”,进入“高级”选项卡,“环境变量-系统变量”,如图3所示:
图2 tbb40_20120408oss内的目录结构
图3 系统环境变量
编辑“Path”变量,在最后添加intel tbb的bin(注意要深入到最内层目录,如Visual2005的话应该为“C:\ProgramFiles\tbb40_20120408oss\bin\ia32\vc8”,Visual Studio 2008应为“C:\ProgramFiles\tbb40_20120408oss\bin\ia32\vc9”)目录所在全路径。如我应该添加如下变量:“C:\Program Files\tbb40_20120408oss\bin\ia32\vc8”,这里要注意的是变量之间是以分号“;”分隔的(玩过Linux的都知道Linux下系统变量之间是以冒号“:”分隔的)。
修改完系统环境变量后,为使环境变量生效,需要注销一下电脑,或者重启“explorer.exe”进程即可,这里不过多赘述。
3.安装cmake,并生成项目文件
安装完cmake后,运行cmake,如图4所示,然后单击“Where is the source code:”右侧的“Browse Source”,浏览到“C:/ProgramFiles/OpenCV/src”文件夹,单击“where to buildthe binaries:”右侧的“Browse Build”,浏览到“C:/Program Files/OpenCV/vs2008”文件夹(vs2008文件夹是我自己创建的)。
图4 配置源代码和生成目录