新建一个 CMakeList.txt
复制下面代码,并保存

cmake_minimum_required (VERSION 3.0)PROJECT(Chapter2)set (CMAKE_CXX_STANDARD 11)IF(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)conan_basic_setup()
ENDIF()# Requires OpenCV
set(OpenCV_DIR D:/opencv/build/x64/vc15/lib)
FIND_PACKAGE( OpenCV REQUIRED )
MESSAGE("OpenCV version : ${OpenCV_VERSION}")ADD_EXECUTABLE( sample1 sample1.cpp )
TARGET_LINK_LIBRARIES( sample1 ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf ) ADD_EXECUTABLE( sample2 sample2.cpp )
TARGET_LINK_LIBRARIES( sample2 ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf)ADD_EXECUTABLE( sample3 sample3.cpp )
TARGET_LINK_LIBRARIES( sample3 ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf)ADD_EXECUTABLE( ${PROJECT_NAME} main.cpp )
TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${OpenCV_LIBS} ${CONAN_LIBS} -lprotobuf)

然后就新建一下文件夹(你的工程名),当然,你不建也是可以的。只是方便自己管理工程
并把CMakeList.txt复制到文件夹下我的文件夹是D:\Chapter2

其中
sample1.cpp
sample2.cpp
sample3.cpp
main.cpp
是你的C++的程序

接下来就是编译了。
打开CMD
cd到D:\Chapter2文件夹后就可以到下面的命令了

mkdir build
cd build
cmake .. -G "Visual Studio 15 2017 Win64"

然后等待就可以了。

可能出现的错误:
1,出来 Required OpenCV but cannot find one. 类似的这种解决就是路径没有设置好。CMakeLists里的set(OpenCV_DIR D:/opencv/build/x64/vc15/lib) 这个就是你要设置的opencv的路径,不能设置到D:/opencv/build,不然还是会继续报 no binary的错。
2020-03-31 更新,如果把opencv的路径添加到了系统的环境变量,可以不用在cmakelist 设置opencv的路径了。

2,编译成功后,但是打开工程,却会报 模块计算机类型x64与目标计算机类型X86冲突。
这种是直接在编译的时候 cmake … , 这样就会x86的编译器编译了。 所以要用 cmake … -G “Visual Studio 15 2017 Win64”,看你自己的Visual Studio 的版本,就用自己的版本,我的是2017的。

3,如果编译成功后。打开你的工程,然后编译成功后,还可能报 “无法启动程序 debug\ALL_BUILD 拒绝访问”,可以把ALL_BUILD删除了。或者把启动项目更改为你的项目(如下图)。再尝试一下。应该可以的了。

CMake 编译 OpenCV 项目,不是编译OpenCV, 用了之后才知道CMake也太好用了。相关推荐

  1. CMake编译C++项目-简单范例-编译脚本-Linux

    文章目录 1.add_library 2.add_executable 3.编译步骤 4.作者答疑   在Linux下,没有非常优秀的IDE工具,程序的编译也是需要命令行,一行一行的手写,比较麻烦,比 ...

  2. protobuf java 编译_Maven项目中,编译proto文件成Java类

    新建Maven项目 新建一个 Maven 项目: pom定义了最小的maven2元素,即:groupId,artifactId,version. groupId:项目或者组织的唯一标志,并且配置时生成 ...

  3. Bazel入门教程:编译C++项目

    文章目录 Bazel入门教程:编译C++项目 安装bazel 编译C++项目 建立工作区(workspace) 理解BUILD文件 使用Bazel编译项目 1. 编译你的第一个Bazel项目 2. 查 ...

  4. 基于CMake构建MSVC_CUDA及MinGW编译环境下的的OpenCV项目

    前言 第一次搭建OpenCV开发环境的时候各种报错,内心那个烦啊,简直了.当时只能针对某个特定的错误去寻找特定的解决方法,在OpenCV构建过程中出现最多的问题就是各个模块文件的下载问题,本质上这类问 ...

  5. 初识openCV VS编译C++项目

    0 OpenCV概览 OpenCV是一个开源的计算机视觉库,可以从 http://opencv.org 获取. 1999 年,Gary Bradski(加里·布拉德斯基)当时在英特尔任职,怀着通过为计 ...

  6. VS集成opencv编译C++项目遇到的问题

    当我们新建一个c++项目的时候总是提示脚本错误的信息,虽然不影响使用,但是还是很烦躁,对于有强迫症的我来说,实在受不了,终于找到了解决方案 这个提示的路径根据大家自己安装vs的路径来查找: http: ...

  7. Fedora 30系统下,用g++编译opencv项目

    先安装好opencv和 pkg-config. 看一下pkg-config设置的目录是否正确, 假设opencv的目录是/usr/loacal/include 和 /usr/local/lib: $ ...

  8. CMake指令入门 ——以构建OpenCV项目为例

    CMake指令入门 --以构建OpenCV项目为例 转自:https://blog.csdn.net/sandalphon4869/article/details/100589747 一.安装 sud ...

  9. 海康工业相机SDK+OpenCV实例(1):海康SDK和OPENCV的安装与编译

    海康工业相机SDK+OpenCV实例(1) 海康SDK和OPENCV的安装与编译 文章目录 海康工业相机SDK+OpenCV实例(1) 海康SDK和OPENCV的安装与编译 前言 一.海康SDK安装 ...

  10. opencv编译python库_linux 下编译安装 opencv-python

    编译参考 Docker环境下编译,内部整理的详细的编译选项和整个编译的流程,可以直接用,也可以参考: https://github.com/SkeLLLa/docker-ffmpeg-opencv h ...

最新文章

  1. 因4元而市值蒸发400亿!美团“大数据杀熟”翻车!回顾2020年互联网大事件!...
  2. 【转】[C# 基础知识系列]专题四:事件揭秘
  3. PHP大法——实验吧
  4. java servlet 数据库_Java Servlet调用数据库复习
  5. php声明对象的关键字是,PHP面向对象this关键字!
  6. 玩转ECS第7讲 | ECS数据保护-数据备份新特性与最佳实践
  7. 【MFC】MFC应用程序框架详解
  8. Spring 钩子之BeanFactoryPostProcessor和BeanPostProcessor
  9. 第七章:集成学习(利用AdaBoost元算法...)
  10. 阿里云大数据计算服务MaxCompute命令行工具——odpscmd的操作使用
  11. Elasticsearch 之 数据索引
  12. 庞伟(为奥运冠军名字作诗)
  13. asp.net5开发中DNX SDK版本的影响
  14. Minecraft mod制作简易教程(一)——配置工作环境
  15. 【Unity大气散射】GAMES104:3A中如何实现大气散射
  16. 制作Win10系统安装U盘和安装纯净版Win10的通用教程
  17. autojs-识图点击完整方法带源码及使用方法
  18. 7. Applepay 解码实操-golang
  19. 【python实战】不玩微博,一封邮件就能知道实时热榜,天秀吃瓜
  20. python爬取ajax动态内容肯德基门店_新手爬虫.全国KFC门店地址抓取.

热门文章

  1. 楼兰图腾(权值线段树)
  2. tomcat8 进入不了Manager App 界面 403 Access Denied
  3. 杂项:E-Learning
  4. 在树莓派是安装并配置NTP服务
  5. Oracle数据库 查看表是否是 索引组织表的方法
  6. Redis学习笔记--Redis数据过期策略详解==转
  7. ASP.NET Web API 2 过滤器
  8. 洛谷 P3391 【模板】文艺平衡树
  9. 几个常用的Linux操作系统监控脚本
  10. Cisco 3550-EMI 交 换 机 配 置 教 程