在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序

在Windows上采用Cmake + Visual Studio编译并使用静态opencv库并打包发布成裸机可执行程序

环境:Windows 7 64bit

工具:

  1. Cmake-3.11.1
    • 确保是64位
    • 确保安装了GUI
  2. Visual Studio 2015
    • 确保是64位
    • 确保采用vc14作为编译器(支持c++11标准部分语法)

原料:OpenCV 3.4.1

- 中文:从官方网站上下下来的opencv3.4.1源码.
- English: source code from official website.
- 日本語:公式サイトからもらったOpenCV-3.4.1のソースコード

操作步骤:

  1. 解压OPENCV-3.4.1源码包,设解码后opencv源码根目录为OPENCV_DIR;
  2. 打开Cmake-3.11.1,选择source code的路径为OPENCV_DIR/sources,如图-1所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  3. 创建静态库存放目录build-static在opencv根目录下,如图-1所示;
  4. 点击configure(配置)按钮,选择visual studio 14 2015 Win64,如图-2所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  5. 等待初次configure完成,中间区域内会出现一系列编译选项,如图-3所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  6. 如果本机不存在可用NVIDIA加速计算用的GPU卡,请执行:搜索CUDA相关选项,设置所有CUDA编译选项为未选择状态,如图-4所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  7. 如果本机不存在可用NVIDIA加速计算用的GPU卡,请执行:搜索CUBLAS,设置为未选中状态,如图-5所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  8. 如果本机不存在可用NVIDIA加速计算用的GPU卡,请执行:搜索CUFFT,设置为未选中状态,如图-6所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  9. 最为关键的一步来了:搜索BUILD_SHARED_LIBS,设置为未选中状态,如图-7所示,该操作决定编译得到的库是静态库而不是动态库!!!
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  10. 搜索EXTRA,点击编译选项的Value栏设置OPENCV_EXTRA_MODULES_PATH的目录为你所下载的opencv-contrib-3.4.1所在目录下的modules子目录,如图-8所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  11. 再次点击configure按钮,进行二次配置,等到进度条走完,会发现中间区域编译选项区仍然存在红色区域,该部分是步骤10中添加的额外模块导致的,再次点击configure(第三次)将消除红色,如图-9所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  12. 点击Generate按钮,等待进度条走完,消息区如图-10所示,至此完成cmake编译步骤;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  13. 点击Open Project或者在生成的目录下双击点击OpenCV.sln文件,会自动打开Visual Studio 2015并导入Opencv-3.4.1工程,如图-11所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  14. 将编译类型设置为Release,如图-12所示;
    在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序
  15. 打开项目视图,选择CMakeTargets下的ALL_BUILD,右键点击生成(Generate),如图-13所示,该编译过程可能需要二十多分钟,较为漫长;

在Windows上采用Cmake+Visual Studio编译并使用静态opencv库并发布成裸机可执行程序

上一篇:UWP 利用Windows.UI.Composition实现简单的放大??效果


下一篇:Dell服务器做Raid安装Windows Server系统全套教程