1、下载安装CMake

要在Windows平台下生成opencv的解决方案,需要一个名为CMake的开源软件。CMake的全称是crossplatform make。它是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能输出各种makefile或者project文件。CMake的组态档取名为CmakeLists.txt。CMake并不直接构建出 最终的软件,而是产生标准的构建档,如Linux下的Makefile,windows下Visual C++de projects/workspace。然后再依一般的构建方式使用。

CMake在官网:http://www.cmake.org/上下载。

进入下载页面->Source distributions,可以下载到CMake的源码。在Binary distributions处可以下载到CMake的执行文件,选择对应系统,我的是Windows7 64bit

下载完成之后,直接安装,我的安装目录如下

2、使用CMake生成OpenCV源代码工程的解决方案

第一步:运行cmake-gui,如果没有生成桌面快捷方式,在安装路劲下D:\CMake_OpenCV\CMake_OpenCV_Install\bin处找到cmake-gui.exe运行

第二步:指定opencv的安装路径D:\opencv_2.4.11\sources,可以发现,在此路径下必须会有一个名为CMakeLists.txt的文件,这就是给CMake留下的配置文件。

CMake可以根据这个配置文件,通过选择不同的编译器,来生成不同的解决方案----VisualStudio的编译器对应的就是生成Visual Studio版的sln解决方案。

第三步:指定解决方案的存放路径:D:\CMake_OpenCV\CMake_OpenCV_Solve

第四步:第一次configure,路径设置好之后,单击configure按钮,进行第一次配置过程,然后会弹出如下图所示的进行编译器选择的对话框。

先选定“use default native compilers”,然后可以发现下拉列表中提供了几十种编译器供选择。因为我安装了visual studio,这里会默认选择对应版本的visual studio编译器。

我的visual studio是vs13,windows64bit,不知道是否是错的!!!???

确认无误之后,单击“finish”按钮。于是,CMake 开始第一次源代码配置过程,配置过程直到configuring done,那么第一次的源码配置就完成了。

第五步:第二次configure

再次单击configure按钮。

第六步:单击generate,成功生成项目

只需要单击generate来生成最终额解决方案了,完成之后可以去之前设定的路径下寻找解决方案了。

3、编译opencv源代码

打开刚刚生成的opencv.sln解决方案,可以看到一个庞大的工程----这是一个包含了67个项目的解决方案(对2.4.9而言),如下所示

这时在解决方案资源管理器界面,可以随意点击一个感兴趣的项目,比如opencv_core,再查看src/matrix.cpp文件的源代码,以后大家都会很熟悉的这个Mat类型。

当代码看完之后,我们可以按F5或者其他操作来启动调试,

若编译完成之后出现了类似

这样的警告,这是正常的,因为opencv的源代码工程默认将“ALL_BUILD”这个项目设为了启动项,编译成功后,会默认运行它。

而“ALL_BUILD”是一个项目生成周边的杂项,不是exe执行文件,本身不可以运行,故自然会弹出这样的错误提示。

2.2开源的魅力:编译opencv源代码的更多相关文章

  1. opencv第二课,使用cmake编译OpenCV,并添加opencv_contrib模块

    一.下载安装cmake 想要在Windows平台下生成OpenCV的解决方案,我们需要一个名为cmake的开源软件,可以在camke的官网:http://www.cmake.org/上下载到 或者点击 ...

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

    1,参考博文 Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV [OpenCV入门教程之七] 玩转OpenCV源代码:生成OpenCV工程解决 ...

  3. 【OpenCV入门教程之二】OPENCV3 开源之美 — 编译源代码、配置opencv_contrib

    为什么要配置opencv_contrib? opencv3.0版本 功能更加模块块,一些功能模块不够完善,等足够完善在merge到主分支中,而我们图像识别中要用到的SIFT等算法被封装在xfeactu ...

  4. 学习 opencv---(6)玩转opencv源代码:生成opencv 工程解决方案与opencv 源码编译

    在这篇中,我们探讨如何通过已安装的opencv选择不同的编译器类型,生成高度还原的OpenCV开发时的解决方案工程文件,欣赏OpenCV新版本中总计 六十六多万行的精妙源代码.我们可以对其源代码进行再 ...

  5. CSDN开源夏令营 基于Compiz的switcher插件设计与实现之编译compiz源代码

    在開始介绍之前先吐个嘈:上周我们暑期ACM集训開始了.平均下来基本上是一天一赛.有时还不止.又是多校联赛,又是CodeForces,又是TopCoder.又是BestCoder,又是AcDream.还 ...

  6. vs2019编译opencv

    序 微软家的宇宙第一ide:visual studio已经更新到了2019版,芒果也更新尝鲜了一遍,体验还不错,建议更新尝尝鲜.芒果顺便使用vs2019编译了一遍opencv,编译过程也非常顺利,以下 ...

  7. 编译OpenCV文档

    概述 使用OpenCV的过程中经常查看文档,每次都去官网查看,不过国内访问速度很慢,有一份本地的文档就好了.本文列出了在Linux(Fedora)系统上从OpenCV源码编译出documentatio ...

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

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

  9. Ubuntu 16.04下为Android编译OpenCV 3.2.0 Manager

    http://johnhany.net/2016/07/build-opencv-manager-for-android-on-ubuntu/ 最近想在Android上尝试一下SIFT和SURF匹配算 ...

随机推荐

  1. UGUI 分页渐变居中效果

    代码相当冗长,仅作自己记录 在此分页上修改的https://blog.csdn.net/qinyuanpei/article/details/49781133 using UnityEngine;us ...

  2. @SessionAttributes和@ModelAttribute

    一.@ModelAttribute 在默认情况下,ModelMap 中的属性作用域是 request 级别是,也就是说,当本次请求结束后,ModelMap 中的属性将销毁.如果希望在多个请求中共享 M ...

  3. Linux cc与gcc

    三个源文件:main.c sum.c show.c /* main.c */ extern int sum(int m, int n); extern void show(int data); int ...

  4. Android BindService中遇到的一个小问题

    今天在使用BindService的时候遇到个小问题,我希望通过Bindservice获取到这个服务,然后执行服务内的某个自定义方法,如下: if(bindService==null){ Intent ...

  5. oracle 分析函数加order by的影响

    create table test (id number(2), name varchar2(10), salary number(6,2));insert into test values (1,' ...

  6. 虚拟机在 OpenStack 里没有共享存储条件下的在线迁移

    虚拟机在 OpenStack 里没有共享存储条件下的在线迁移 本文尝试回答与 Live migration 相关的几个问题:Live migration 是什么?为什么要做 Live migratio ...

  7. python---mysql 学习笔记

    数据库------mysql 安装: linux----centos7: 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可 ...

  8. 配置key认证登陆Ubuntu (下)

    梗概: 使用证书登陆,可以减少密码的使用,避免密码泄露,证书登陆更加方便.安全. Secure CRT 和Putty 原理相同,生成 密钥对(Key pair)操作有所不同. 1.生成key pair ...

  9. Betsy's Tour 漫游小镇(dfs)

    Description 一个正方形的镇区分为 N2 个小方块(1 <= N <= 7).农场位于方格的左上角,集市位于左下角.贝茜穿过小镇,从左上角走到左下角,刚好经过每个方格一次.当 N ...

  10. spark编译安装 spark 2.1.0 hadoop2.6.0-cdh5.7.0

    1.准备: centos 6.5 jdk 1.7 Java SE安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java ...