1,参考博文

  Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV

  【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译

   VS2010重编译OpenCV2.4.9 用于调试源代码

  opencv在vs2012下重编译详细教程——解决按f11进入不了源代码

  感谢前人的帮助,自己使用的软件版本和各博主的不完全一致,不同的软件版本重编译,配置方法并不一致,因此要兼听则明。在操作过程中肯定会出现和博客中不一致的情况,要多使用搜索引擎,参考他人的解决办法。

2,工具

  • cmake3.5.0

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

  • OpenCV2.4.10

  • visual studio 2010

  • 注意:新版本不需要TBB

3,重编译目的,流程

  现阶段主要是在调试的时候直接F11查看OpenCV源代码。利用官方编译好的动态链接库也可以完成OpenCV所有功能,但是不能方便的查看源代码,所以需要在本地编译生成链接库。

  主要流程:

  • Cmake编译OpenCV源代码,生成visual studio C++下的解决方案(标准的构建档,还需要根据平台进一步编译)。

  • 利用visual studio进一步编译成具体的二进制生成文件,如dll,lib。

  • 在visual studio中配置生成的OpenCV库文件。

4,Cmake编译OpenCV源代码,生成visual studio C++下的解决方案

参考上述任一篇博文即可,不再赘述。

需要注意的地方:

  • Cmake选择源代码的路径,定位到CMakeLists.txt所在的文件夹。第一篇博文OpenCV2.4.3直接选择到D:/Program Files/opencv根目录,而后续包括本文用的OpenCV2.4.10都是定位到D:\Program Files\opencv\sources文件夹。不同版本CMakeLists.txt所在位置不同。

  • 编译平台的选择,根据自己的VS版本需要选择默认的Win32或者Win64(x64)平台。

  • 两次点击Configure,再次点击Generate生成项目工程。

5,利用visual studio进一步编译成具体的二进制生成文件

打开OpenCV.sln工程,注意不要着急生成。

点击Win32旁边的下拉菜单,打开配置管理器,默认情况下,IANSTALL项目是没打勾的,一定记得打上,不然待会配置时怎么都找不到install这个文件夹,也就找不到include,opencv,opencv2,然后右键ALL_BUILD,点击生成。

如果没打勾已经生成了文件,只需要重新把勾打上,然后重新生成解决方案。

Debug切换到Release模式下,重新打勾生成。

6,在visual studio中配置生成的OpenCV库文件

(1),配置环境变量

Path下两个路径D:\Program Files\opencv2410\opencv\vc10solution\bin\Debug;D:\Program Files\opencv2410\opencv\vc10solution\bin\Release(本人刚才生成的解决方案目录文件,$解决方案$\bin\Debug...Release)

(2),添加新的属性表

属性管理器中,添加新的项目属性表,命好名并保存下来。Debug和Release的附加依赖项会冲突,所以Debug和Release不能用同一个属性表。

Debug:

VC++目录>包含目录:D:\Program Files\opencv2410\opencv\vc10solution\install\include

          D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv

D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv2

VC++目录>库目录:D:\Program Files\opencv2410\opencv\vc10solution\lib\Debug

链接器>输入>附加依赖项:

opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_nonfree2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_videostab2410d.lib

Debug:

VC++目录>包含目录:D:\Program Files\opencv2410\opencv\vc10solution\install\include

          D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv

D:\Program Files\opencv2410\opencv\vc10solution\install\include\opencv2

VC++目录>库目录:D:\Program Files\opencv2410\opencv\vc10solution\lib\Release

链接器>输入>附加依赖项:

opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_objdetect2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_nonfree2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_videostab2410.lib

WIN7x64+VS2010+OpenCV2.4.10+cmake3.5.0重新编译OpenCV的更多相关文章

  1. win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建

    win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...

  2. VS2010+opencv2.4.10+gsl_1.8配置实现RobHess的SIFT程序

    最近在做sift方面的毕业设计,弄了一天终于把RobHess的SIFT程序调通了.虽然网上有很多相关博文,但是我还是想把我的调试的过程跟大家分享一下.由于工程没法在博文上传,所以有需要的可以在下方留言 ...

  3. vs2010 opencv2.4.10 配置过程出现的问题 & mfc打开图片

    配置参考网址: http://blog.csdn.net/zy122121cs/article/details/49180541 无法启动程序,系统找不到指定的文件:原因是程序编译有错误(不是路径之类 ...

  4. OpenCV2.4.10 + VS2010开发环境配置

    原文转载自:qinyang8513 一.开发环境 1.操作系统:Windows 7(64位) 2.编程环境:Microsoft Visual Studio 2010 3.OpenCV版本:2.4.10 ...

  5. VS2013+Win10+opencv3.0配置(包括opencv2.4.10版本)

    在win下配置opencv3.0.0还是比较简单的,这里简单说一下配置过程:参考链接:http://blog.csdn.net/u010009145/article/details/50756751 ...

  6. VS2010和opencv-2.4.10、GDAL

    系统环境:win10 64位 本文只限于学习交流,商业用途请支持正版! 转载请注明:转载请注明http://www.cnblogs.com/mxbs/p/6206060.html       2016 ...

  7. Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境

    折腾了几天,终于在windows系统上成功配置了Caffe环境,期间遇到了很多问题,每个问题的解决也都花了不少时间,查过挺多资料,感觉挺有意义,这里写篇博客记录一下. 原来我使用的CUDA版本是7.5 ...

  8. (OpenCV) VS2013 + opencv-2.4.10.exe + Windows 10 开发环境配置

    主要配置2点: - Windows 环境变量. - VC++ 配置. STEP BY STEP: 1. 双击 ”opencv-2.4.10.exe“,解压到本地文件夹 “C:\ ". 2. ...

  9. Linux Ubuntu12.04下安装OpenCv2.4.10

    参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...

随机推荐

  1. c语言:最长对称子串(3种解决方案)

    问题描述: 输入一个字符串,输出该字符串中最大对称子串的长度.例如输入字符串:“avvbeeb”,该字符串中最长的子字符串是“beeb”,长度为4,因而输出为4. 解决方法:中序遍历 一,全遍历的方法 ...

  2. c:翻转一个长句中的每个单词

    问题: 输入:“how are    you     baby--   " 输出:”woh era    uoy     --ybab   " #include<stdio. ...

  3. infiniband学习总结

    一.什么是infiniband InfiniBand架构是一种支持多并发链接的“转换线缆”技术,它是新一代服务器硬件平台的I/O标准.由于它具有高带宽.低延时. 高可扩展性的特点,它非常适用于服务器与 ...

  4. 简单使用JSON,通过JSON 字符串来创建对象(二)

    把 JSON 文本转换为 JavaScript 对象 JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 Jav ...

  5. android jni——helloworld

    看了网上好多牛人写的学习系列都是用HelloWorld作为开始,我们这里也用HelloWorld来开始我们的学习,首先我们来介绍下JNI吧. JNI作为java代码和C/C++的桥梁而存在的,为了让j ...

  6. javaSocket与C通信

    前段时间写了个web端与C服务端之间的通信不过用的是短连接 非堵塞的方式,一直想使用长连接,使tomcat启动的时候就和C服务端进行通信,但是一直没找到方法希望je的朋友能给点思路.先来看我现在的具体 ...

  7. Netty轻量级对象池实现分析

    什么是对象池技术?对象池应用在哪些地方? 对象池其实就是缓存一些对象从而避免大量创建同一个类型的对象,类似线程池的概念.对象池缓存了一些已经创建好的对象,避免需要时才创建对象,同时限制了实例的个数.池 ...

  8. 在收购Sun六年后,Oracle终于瞄准了Java的非付费用户

    Java语言毫无疑问已经成为软件社区的一个品牌和开放的产业标准.自从2010年Oracle收购了Sun Microsystems公司之后,很多人就担心这在某种程度上是软件开源产业的一次失败,甚至会造成 ...

  9. Hibernate3 第二天

    Hibernate3 第二天 第一天回顾: 三个准备 创建数据库 准备po和hbm文件 准备灵魂文件hibernate.cfg.xml 七个步骤 1 加载配置文件Configuration 2 创建会 ...

  10. OpenGL的状态机理解

    OpenGL是一种状态机模式,比如你用glEnable打开一个状态,在以后的绘图中将一直保留并应用这个状态,除非你调用glDisable及同类函数来改变该状态或程序退出.例如当前颜色是一个状态变量,可 ...