• 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

     

     

  • 相关阅读:
    纯真IP数据库格式详解
    iframe框架详解
    搜刮的网址
    Drupal设置首页默认内容
    PHP开发之路之一WAMP的安装和配置
    PHP中json序列化后中文的编码显示问题
    Mysql转化blob为可读
    使用Xtrabackup来备份你的mysql
    MySQL压力测试工具mysqlslap的使用
    Cacti 监控 MySQL
  • 原文地址:https://www.cnblogs.com/yssongest/p/5249948.html
Copyright © 2020-2023  润新知