一文解决vscode中借助CMake配置使用Opencv过程中的所有问题
创始人
2025-05-28 01:53:21
0

vscode中借助CMake配置使用opencv过程中的问题

vscode编译工程的完整过程

  1. 编写好CMakeLists.txt
  2. vscode中 ctrl+shift+p 选择cmake configure
  3. vscode中 ctrl+shift+p 选择cmake build

CMake问题

1. set OpenCV_FOUND to FALSE so package “OpenCV” is considered to be NOT FOUND

解决:打开opencv安装文件夹下的OpenCVConfig.cmake文件(我的文件路径是D:\opencv\opencv\build\OpenCVConfig.cmake)修改倒数第二行 将 set(OpenCV_FOUND FALSE) 改为 set(OpenCV_FOUND TRUE)
在这里插入图片描述

2. fatal error: opencv2/opencv.hpp: No such file or directory #include

解决,CMakeLists.txt中加上

include_directories(D:\\opencv\\opencv\\build\\include\\)
include_directories(D:\\opencv\\opencv\\build\\include\\opencv2)

我的完整的CMakeLists.txt

cmake_minimum_required(VERSION 3.5)
project(path_smoother)add_compile_options(-std=c++11)set(OpenCV_DIR D:\\opencv\\opencv\\build\\)
find_package(OpenCV 4.5.1 REQUIRED COMPONENTS core highgui imgproc)
include_directories(${OpenCV_INCLUDE_DIRS})
include_directories(D:\\opencv\\opencv\\build\\include\\)
include_directories(D:\\opencv\\opencv\\build\\include\\opencv2)add_library(${PROJECT_NAME}bucket_queue.hmath_utils.hpose2d.hvec2d.hvec2i.hconstants.hpath_smoother.hbucket_queue.cppvec2d.cpppath_smoother.cpp)target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})add_executable(path_smoother_example path_smoother_example.cpp)
target_link_libraries(path_smoother_example ${PROJECT_NAME} ${OpenCV_LIBS})

VSCODE问题

1. Unable to determine what CMake generator to use

解决:save workspace as… 创建一个.code-workspace文件,添加一行"cmake.generator": “Unix Makefiles”

{"folders": [{"path": "."}],"settings": {"cmake.generator": "Unix Makefiles"}
}

在这里插入图片描述

2. cmake configure之后 一些opencv头文件依然找不到

解决办法:头文件不在vscode默认文件夹下,因此还得再配置vscode的搜索头文件位置才能得到代码提示
ctrl shift p 选择C/C++ edit configuration
修改c_cpp_properties.json,在include path 中增加搜索文件(opencv的头文件路径)
我的文件:

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","D:/opencv/opencv/build/include/**","D:/opencv/opencv/build/include/opencv2/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "D:\\mingw\\mingw64\\bin\\gcc.exe","cStandard": "c17","cppStandard": "gnu++14","intelliSenseMode": "windows-gcc-x64","configurationProvider": "ms-vscode.cpptools"}],"version": 4
}

3. 第二个问题改完之后,还找不到头文件 报错:#include errors detected based on information provided by the configuration

把c_cpp_properties.json中的 “configurationProvider”,改为ms-vscode.cpptools

opencv问题

1. CV_BGR2GRAY’ was not declared in this scope

这是opencv2的用法,现在opencv3和4是COLOR_GARY2BGR,若还报错,则应该是cv::COLOR_GARY2BGR(加上命名空间)

相关内容

热门资讯

JMeter压测工具安装和简单... 一、JMeter简介 1、简介 Apache JMeter 是 Apache 组织基于 Java ...
AMDP开发-概述 AMDP开发-概述 一、AMDP简介 ​ 1、用于管理数据库的存储过程,有效的整合AB...
Science Advance... 导读模型是成熟科学探索的标志。在心理学中,这种成熟是通过一个普遍的问题来实现的...
【K8S系列】从零开始学习 k... 目录 序言 1.背景介绍 2.前情提要 2.1 架构对比 2.2 容器技术 2.3 容器技术的优点 ...
代码随想录--哈希表--有效的... 哈希表理论知识补充: 当我们遇到了要快速判断一个元素是否出现集合里的时候,...
如何突破卫星影像建模难点?重建... 日前,由重建大师生成的首个“珞珈三号01星”卫星影像三维模型一经发出,引...
QD Laser用视网膜投影方... 一提到视网膜投影,我们常常将它与AR眼镜联想起来,作为一种成像技术&#x...
c++下程序的运行(第3方库的... C++安装第三方库1 概览2 编译,首先要熟悉程序编译过程࿰...
总结790        最近读完《少年维特的烦恼-170》,主要是求爱被拒了嘛,有...
Vue.js 2.0源码透析:... Vue.js 2.0的数据绑定与渲染机制实现主要包括以下几个方面: 数据劫持 Vue....
无锡广电新媒体云原生容器化平台... 作者:毛伟,现任无锡广电集团新媒体中心系统架构师,曾负责全...
【java基础】根据泛型动态构... 根据泛型动态构造jackson的TypeReference引出问题使用TypeReference反序...
nodejs篇 express... 文章目录前言express介绍安装RESTful接口规范express的简单使用一个最简单的服务器&...
Hadoop慢磁盘监控         “慢磁盘”指的时写入数据非常慢的一类磁盘。其实慢性磁盘并不少见,当机器...
数据库存储与索引技术(二) 分... 上文讲到,传统单机数据库受制于底层存储技术及扩展瓶颈,无法满足互联网席卷...
图解redis之链表的实现 引言: 链表提供了高效的节点重排能力,以及顺序性的节点访问方式ÿ...
InstructGPT论文详解... InstructGPT论文详解(Training language models to...
JMeter——书写性能测试计... 第七章. 书写性能测试计划书 性能测试报告组成结构: 项目概况(项目背景...
Opencv项目实战:22 物... 目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示与部分讲解 Color_trackb...
STM32之bxCAN CAN基础知识介绍CAN介绍什么是CANCAN(Controller Area Net...