打印

windows7 VS2010 OpenCV2.2.0 TBB CMake 2.8.4编译配置成功

[复制链接]
1303|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
market1234|  楼主 | 2014-10-29 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
windows7 VS2010 OpenCV2.2.0 TBB CMake 2.8.4编译配置成功
[url=]file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.png转载[/url]
            
之前试过了netbeans IDE6.9.1 + cygwin +opencv2.2.0,但是一直没有配置成功,主要是最终找不到链接库参考 http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=11157!很有用,不过根据具体环境可能会做小修改。
lwj2099 **的基础上修改而成,全部下载最新版本的。
1、下载文件
OpenCV2.2.0
http://www.opencv.org.cn/download/OpenCV-2.2.0-win.zip
下载那个OpenCV2.2.0 vs2010那个应该可以直接用不需要编译了。
CMAKE 2.8.1
http://www.cmake.org/files/v2.8/cmake-2.8.4-win32-x86.exe
INTELTBB3.0(下那个stable release版)
http://threadingbuildingblocks.org/uploads/77/167/3.0update 6/tbb30_20110315oss_win.zip
VS2010 (这个仅供参考:你懂的:))
cn_visual_studio_2010_professional_x86_dvd_532145.iso (2.41 GB)
安装vs2010很简单,网上查就行。不安装的话后面CMake找不到想要的vs2010的编译器哟。

2、首先安装CMAKE2.8.4,
然后将OpenCV-2.2.0-win.zip解压到D:\OpenCV2.2\,接着,解压INTEL TBB 3.0到D:\Intel TBB3.0,并在OpenCV2.2文件夹下创建子目录D:\OpenCV2.2\vs2010,用于存放编译结果。

检查D:\Intel TBB3.0\bin\ia32\vc10是否已经被加入到环境变量PATH(如何加入path请谷歌或百度)。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。

打开CMAKE 2.8.4,在Where is the source code后面填写(或者选择)OPENCV 2.2的安装目录,如D:\OpenCV2.2,在Where to build the binaries里填写刚创建的子目录D:\OpenCV2.2\vs2010。接着点击Configure按钮,在出现的对话框中选择Visual Studio 10,下面的选项选择Use default native compilers,点击Finish继续。
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image005.jpg


过一会儿之后会出现一个配置窗口(此处注意在CMAKE配置的时候是不能够打开VS2010的),然后勾选BUILD_SHARED_LIBS,BUILD_TESTS,OPENCV_BUILD_3DPARTY_LIBS,以及下面的WITH_JASPER,WITH_JPEG,WITH_PNG,WITH_TBB(一般这个没默认选上),和WITH_TIFF选项

勾好后再次点击Configure,之后再配置窗口最上面会出现TBB_INCLUDE_DIR-NOTFOUND字样的红色选项,此处为CMAKE找不到INTEL TBB的包含文件为之所致,将INTEL TBB 3.0里面的INCLUDE文件夹路径(注意是INCLUDE,不是INCLUDE里面的子文件夹)定位到该配置属性的路径里,再次点击Configure,在TBB_LIB_DIR处又会出现红色一行,此处为INTEL TBB的库文件位置,此处必须将路径定位到含有LIB文件的位置,比如我的安装位置是D:/Intel TBB 3.0/lib/ia32/vc10,也就是说,在lib文件夹下会有子文件夹,必须定位到子文件夹对应的VC版本文件夹里去,这里由于是配置VS2010,所以我们选择VC10文件夹,ia32子文件夹是32位系统,此处应根据对应操作系统选择。

然后,我们再次点击Configure,此时所有红色行已经变为白色,同时在下方的信息里面会有一条为Use TBB:YES的字样,证明我们已经将INTEL TBB配置完毕,然后点击Generate。

3、完成后在刚创建的子文件夹D:\OpenCV2.2\vs2010下会出现一个VS2010的解决方案文件OPENCV.sln,双击打开后,出现OPENCV 2.2的所有工程项目,先不要着急编译。

首先点击Solution Explorer(解决方案资源管理器)里面Property Manager(属性管理器)下的选项卡,依次展开ALL_BUILD—Debug|Win32—右键单击Microsoft.Cpp.Win32.user,选择Properties(属性),然后选择VC++ Directories(VC++目录),在Executable Directories(可执行文件目录)里面将INTEL TBB 3.0的可执行路径(bin)填写到里面,此处与LIB一样,必须定位到VC10才可以,例如我的是D:\Intel TBB 3.0\bin\ia32\vc10,将Include Directories(包含目录)定位到Intel TBB的Include文件夹即可,无需再往深入定位,在Library Directories(库目录)里填写Intel TBB的LIB文件位置,定位到VC10文件夹。
有同学没找到,我这里截个图大家看,在这里:
单击确定之后,将选项卡切回到Solution Explorer(解决方案资源管理器),将编译模式切换为Debug模式,右键单击Solution OpenCV(解决方案OpenCV),选择Rebuild Solution(重新生成解决方案),编译后再右键单击INSTALL项目,选择Build(生成),之后将编译模式切换为Release,重复debug模式下的步骤。完成后在你的解决方案文件夹D:\OpenCV2.2\vs2010里面会生成bin目录,include目录,lib目录。

然后在VS2010里切回到Property Manager(属性管理器),像上面一样展开Microsoft.Cpp.Win32.user后选择Properties(属性),最后在VC++ Directories(VC++目录)里面增加子文件夹D:\OpenCV2.2\vs2010下的可执行文件(bin),包含文件(include\opencv),以及库文件(lib),源文件(src\cv、src\cvaux、src\cxcore、src\highgui、src\ml),(我是把所有src文件全部拷贝到一个src子目录)确定,退出并保存更改。

检查D:\OpenCV2.2\vs2010\bin是否已经被加入到环境变量(我的电脑-属性-环境变量)PATH,如果没有,请加入,同样注销再登陆。
4、开发OpenCV应用
到此OPENCV 2.2配置完成,以后建立OPENCV项目时都需在项目里面添加依赖库,方法是在Solution Explorer(解决方案资源管理器)里面右键选择项目,选择Properties(属性),然后在Linker(链接器)里面选择Input(输入),在依赖库里添加OPENCV的LIB文件夹里的LIB文件名称即可,文件名后面有小写字母“d”的为Debug库(调试模式库),没有“d”的为Release库(发布模式库)。例如active(debug)[活动(debug)]里添加,release里添加cv210.lib cvaux210.lib cxcore210.lib highgui210.lib ml210.lib
(openCV 2.2.0的版本有点不同,反正我全部加上)
另外,这里同样要设置INCLUDE文件夹:D:\OpenCV\vs2010\include;D:\OpenCV\vs2010\include\opencv;设置两个比较保险,有的头文件是这样描述的“opencv2/core/core_c.h”,不加“D:\OpenCV\vs2010\include”可能找不到相应的文件。
建立console应用测试一下。ok

相关帖子

沙发
dirtwillfly| | 2014-10-29 10:23 | 只看该作者
感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

40

帖子

1

粉丝