Cmake编译opencv3.4.6和opencv_contribute源码

编译环境:

主机系统:win10 x64
IDE:VS2017(VC15)
编译器:cmake-3.15.3-win64-x64
opencv:3.4.6
opencv_contribute:3.4.6(这个版本一定要跟OpenCV保持一致)

opencv编译

  • 建立一个文件夹,命名为OpenCV3.4.6,里面创建两个文件夹,分别命名为build和source
    Cmake编译opencv3.4.6和opencv_contribute源码_第1张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第2张图片
    其中source文件夹放置opencv和opencv_contribute源码;build文件夹放置之后编译的结果。
  • 打开Cmake,如图在源码和输出路径框中填写路径
    Cmake编译opencv3.4.6和opencv_contribute源码_第3张图片
    点击configure,选择编译器,注意:如果vs想编译64位的,Cmake必须选64位
    Cmake编译opencv3.4.6和opencv_contribute源码_第4张图片
    在搜索框中输入wor,勾选BUILD_opencv_world
    Cmake编译opencv3.4.6和opencv_contribute源码_第5张图片
    在搜索框中输入nonfree,勾选
    Cmake编译opencv3.4.6和opencv_contribute源码_第6张图片
    在搜索框中输入关键词extra,值的路径改为opencv_contrib-3.4.6/modules 路径
    Cmake编译opencv3.4.6和opencv_contribute源码_第7张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第8张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第9张图片
    可能出现以下错误:
    Cmake Warning:“OpenCVGenSetupVars.cmake:54"
    Cmake编译opencv3.4.6和opencv_contribute源码_第10张图片
    忽略此警告后,编译仍然成功。因此,只需去除 OPENCV_GENERATE_SETUPVARS选项,将会configure成功。具体如下图:
    Cmake编译opencv3.4.6和opencv_contribute源码_第11张图片
  • 点击Open Project
    Cmake编译opencv3.4.6和opencv_contribute源码_第12张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第13张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第14张图片

Cmake编译opencv3.4.6和opencv_contribute源码_第15张图片

Cmake编译opencv3.4.6和opencv_contribute源码_第16张图片
点击ALL_BUILD,右键选择“生成”
Cmake编译opencv3.4.6和opencv_contribute源码_第17张图片
生成结果如下:
Cmake编译opencv3.4.6和opencv_contribute源码_第18张图片
在CMakeTargets下面找到INSTALL,右键->生成
Cmake编译opencv3.4.6和opencv_contribute源码_第19张图片
Cmake编译opencv3.4.6和opencv_contribute源码_第20张图片
Cmake编译opencv3.4.6和opencv_contribute源码_第21张图片
Cmake编译opencv3.4.6和opencv_contribute源码_第22张图片

  • 查看生成文件
    最终生成的文件在build\install文件夹下:
    Cmake编译opencv3.4.6和opencv_contribute源码_第23张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第24张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第25张图片

  • 环境变量
    把刚生成的*\build\install\x64\vc15\bin作为环境变量加进入(如果之前有OpenCV的就替换之前的,切记!)
    Cmake编译opencv3.4.6和opencv_contribute源码_第26张图片

  • 配置VS
    1、新建工程demo
    确保Debug + x64 配置
    菜单栏->视图->其他窗口->属性管理器(View->Other Windows->Property Manager)
    右键Debug|x64->配置(Properties)
    Cmake编译opencv3.4.6和opencv_contribute源码_第27张图片

  1. 配置包含目录,库目录以及附加依赖项
    D:\OpenCV3.4.6\build\install\include
    D:\OpenCV3.4.6\build\install\include\opencv2
    Cmake编译opencv3.4.6和opencv_contribute源码_第28张图片
    D:\OpenCV3.4.6\build\install\x64\vc15\lib
    Cmake编译opencv3.4.6和opencv_contribute源码_第29张图片
    Cmake编译opencv3.4.6和opencv_contribute源码_第30张图片
    打开链接器- >输入- >附加依赖项,填入opencv_world346.lib
    Cmake编译opencv3.4.6和opencv_contribute源码_第31张图片

Cmake编译opencv3.4.6和opencv_contribute源码_第32张图片
应用->确定
3. 添加新建项 Ctrl+Shift+A

可能出现错误:LNK1104 无法打开文件“python37_d.lib”
这是因为安装Python时没有选择debug版本,而现在的工程编译的是debug。
将python重新修改安装即可

你可能感兴趣的:(cmake)