[OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

一、OpenCv3.1.0配置

  1. 下载

    DOWNLOAD|OpenCv网站下载OpenCv3.1 for windows,如图 1;

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  2. 解压

    将下载的zip包解压到相应的文件夹中,文件内容如图 2; 


    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  3. 配置环境变量

    如果不会配置环境变量,可参考百度经验-环境变量的配置 
    这里我们把上一步解压得到的build/bin文件添加到环境变量中,路径可以如 图 3一样复制得到:

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  4. 使用

    其实这一步之后,在VS项目中已经可以使用OpenCv中的库进行开发了,但是为了我们更加个性化的需求,我们需要学习如何使用CMake编译OpenCv项目得到我们自己想要的东西。 

二、CMake3.6.1安装

  • 下载安装 
    DOWNLOAD|CMake中下载得到cmake-3.6.1-win64-x64.msi文件,一步一步确定就可以安装了 ,如图 4

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

三、使用CMake3.6.1编译OpenCv3.1.0

  1. 开启CMake

    开启CMake,如图 5

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  2. 选择 source文件地址 和 编译生成的文件存放地址

    source文件地址选择OpenCv解压文件中的source文件,打开source文件,我们可以看到里面的文件如图 6,其中CMakeList.txt文件就是指导CMake编译的描述文件,有兴趣的同学可以看看CMake入门

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录


    编译生成的文件地址选择了与source上一级同级的文件夹,该文件夹不存在,但是CMake会帮你创建,选择好了后如图 7:

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  3. Configure

    点击图 7左下角Configure按钮,软件会自动检测到电脑安装有VS2015(注意一定要选对版本),就帮你选定将该Source文件编译成VS2015项目,如图 8;

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    我们需要点finish按钮进行确认,确认之后得到的结果如图 9:

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    此时 build1 文件夹中已经有生成的文件了,如图 10 

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  4. 个性化设置

    在图 9中,我们勾选一些我们需要的设置,设置后的结果如图 10 和 图 11 所示(这里说明一下 比如 BUILD_EXAMPLE 我们不知道什么意思,可以将鼠标移动到该属性上面停留一会,就可以看到相应的解释了);

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  5. 生成

    在生成之前,我们需要在次点击Configure按钮,使得我们刚刚的设置得以生效,在这一步需要连接外网下载一个ippicv_win的压缩包,如果在这一步出现问题,可以上网搜索下载这个文件,放到相应的文件夹中; 
    然后我们点击Generate按钮,开始生成VS项目,生成结束之后,我们可以看到build1 文件夹中的内容如图 12所示,和图 10对比,多了很多VS工程中出现的文件:

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  6. 在VS2015中生成dll和lib文件

    在VS2015中打开图 12中的 OpenCv.sln,点击生成-->批生成,如图 13选择:

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    点击Generate按钮,开始生成,生成过程如图 14,等待时间根据电脑配置,30--60min不等:

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

四、使用自己编译好的OpenCv文件,进行OpenCv开发

  1. 设置环境变量 
    如图 15,\install\x64\vc14\bin 就是我们前面步骤编译生成的,使用这个完全的路径去覆盖之前我们设置的OpenCv的路径;

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  2. Vs 2015中创建一个空的 Win32控制台程序 
    在这个程序中,在源文件中添加一个drawing.cpp,可以在DOWNLOAD|drawing.cpp中下载;

  3. 在属性管理器中设置Debug属性 
    在Debug|64X  中设置新建一个props文件(名字自己取,但是最好能够把其对应的信息展示在名称当中),这样的好处是在之后创建其它的OpenCv工程之后,直接将这个props文件导入到根目录,并添加到工程中就可以配置好OpenCv的库了;如图 16 (这里由于我们只是创建了这个props文件,但是没有对其中的属性进行设置,所以这里程序中会报错)

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

  4. 对自己创建的props文件进行配置相应的属性 
    a
    C/C++–> 常规 –> 附加包目录,添加如下图 17目录,根据自己的路径相应改一下: 
    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    b
    链接器—>附加库目录,添加如图 18中的目录,同样的根据自己的路径相应修改一下: 
    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    c
    链接器—>输入,添加如图 19中的文件,这里添加的文件的名字就是b步骤中设置的lib文件夹中的以d结尾的文件,这里opencv_world310d最后面的d代表的是debug,如果我们配置release中的属性,就只需要将没有以d结尾的dll文件加入进来

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    d
    配置好之后,选择Debug 和 x64,如图20,那么之前程序的报错就消失了;

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录

    e
    进行调试,如果可以得到下面的效果,那说明就配置成功了

    [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录