WIN7x64+VS2010+OpenCV2.4.10+cmake3.5.0重新编译OpenCV

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 Filesopencvsources文件夹。不同版本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 Filesopencv2410opencvvc10solutioninDebug;D:Program Filesopencv2410opencvvc10solutioninRelease(本人刚才生成的解决方案目录文件,$解决方案$inDebug...Release)

(2),添加新的属性表

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

Debug:

VC++目录>包含目录:D:Program Filesopencv2410opencvvc10solutioninstallinclude

          D:Program Filesopencv2410opencvvc10solutioninstallincludeopencv

                            D:Program Filesopencv2410opencvvc10solutioninstallincludeopencv2

VC++目录>库目录:D:Program Filesopencv2410opencvvc10solutionlibDebug

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

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 Filesopencv2410opencvvc10solutioninstallinclude

          D:Program Filesopencv2410opencvvc10solutioninstallincludeopencv

                            D:Program Filesopencv2410opencvvc10solutioninstallincludeopencv2

VC++目录>库目录:D:Program Filesopencv2410opencvvc10solutionlibRelease

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

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

 

 

原文地址:https://www.cnblogs.com/yssongest/p/5249948.html