vscode+CMakeLists+mingw配置Opencv4.5.5

简介: vscode+CMakeLists+mingw配置Opencv4.5.5

记录一下配置过程,回过头来还能照着配置,也希望能帮助到遇到相同问题的各位。

一、mingw编译opencv

参考这个链接,我安装了opencv4.5.5,用mingw64编译

Windows10 环境下使用 Cmake 和 MinGW-w64 编译安装 OpenCV 4.0.1

起初第一次编译错误,原因是windows cmake configure时候有3个文件没有下载下来,这时候可以用迅雷下载下来,然后放入到指定文件夹,再重新点击configure

下边是对应的缺少的文件,和右边的下载地址。

文件最右边是要存放的目录

对于ffmpeg_version.cmake可能需要科学上网才能下载,我放在本文最后的附录了。

二、配置CMakeLists.txt

首先要安装这两个插件,建议把其他cmake插件关了,以面出现冲突。

这是之前编译完的opencv的地址,安装好的头文件和库文件都在install里面

首先创建一个CMakeLists.txt

注意Opencv_DIR修改为自己的opencv安装目录

cmake_minimum_required(VERSION 3.17)
project(test)
set(CMAKE_CXX_STANDARD 11)
set(OpenCV_DIR E:/lib/opencv/build-mingw64/install)
add_executable(${PROJECT_NAME}
            main.cpp
    )
find_package(OpenCV REQUIRED)
if(OpenCV_FOUND)
    include_directories(${OpenCV_INCLUDE_DIRS})
    target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
endif()

三、源文件

同目录下还有一个main.cpp

#include<opencv2/opencv.hpp>
int main(){
    //cv::Mat img=cv::imread("1.png");
    //cv::imshow("img",img);
    //cv::waitKey(0);
    return 0;
}

四、使用CMakeTool进行编译

点击左下方的蓝条,指向的是选择编译器

选择mingw编译器,注意:之前用哪个mingw版本编译的,这边就用哪个,不然可能会出现不兼容。

然后直接点击 红色的debug或者黄色的run就行了

现在是build完,并运行了,但是还暂时没有测试用例,因此是空运行

目录下出现一个build文件,就是cmakelist.txt的build结果,里面的test.exe就是生成可执行文件,在build目录下放一张1.jpg,用作测试

五、测试

#include<opencv2/opencv.hpp>
int main(){
    cv::Mat img=cv::imread("1.png");
    cv::imshow("img",img);
    cv::waitKey(0);
    return 0;
}

发现#include这行有红色的波浪线,表示vscode没有检测到头文件,虽然不影响编译,但是非常难受

六、vscode中加入头文件

ctrl+shift+p 选择编辑配置(UI)

修改为mingw的g++路径

包含路径中加入 opencv安装的include目录

最后还要把该bin目录,添加到环境变量,否则vscode会出现提示。

以上仅仅是为了让vscode去识别,但是不影响编译过程(不然出现红色波浪线或者warning还是非常难受的)

七、最终测试

八、一些问题

1、CMakeLists.txt中find_package出现红线?

说明没有找到,一种原因是OpenCV_DIR没有设置正确,还有种原因是,编译的opencv与使用的编译器对不上,比如使用的是mingw,而用的却是msvc的

2、Cmaketool(下方蓝条)中没有能选择的mingw版本?

要把之前用于编译的mingw加入到环境变量中。

如果已经加入了,依然没有显示,如果安装了多个版本的mingw尝试把其他版本的从环境变量移除

3、Cmaketool中已经选择了想要的mingw版本,一点击运行但执行的是其他mingw版本

我之前就点了 执行,然后运行成功了。

一点击debug,就出现执行的QT目录下mingw的gdb.exe,可是明明已经从环境变量中去除了。这个是vscode本身的问题,需要关闭重新开启vscode。

4.CMaketool插件注意事项

如果点击这一项,build的未必是选择编译器…,因此如果要使用debug就直接点击右侧的 瓢虫(运行debug)

想用release就点击右侧 的 箭头(运行realse)

九、附录

ffmpeg_version.cmake

set(FFMPEG_libavcodec_FOUND 1)
set(FFMPEG_libavformat_FOUND 1)
set(FFMPEG_libavutil_FOUND 1)
set(FFMPEG_libswscale_FOUND 1)
set(FFMPEG_libavresample_FOUND 1)
set(FFMPEG_libavcodec_VERSION 58.134.100)
set(FFMPEG_libavformat_VERSION 58.76.100)
set(FFMPEG_libavutil_VERSION 56.70.100)
set(FFMPEG_libswscale_VERSION 5.9.100)
set(FFMPEG_libavresample_VERSION 4.0.0)


相关文章
|
4月前
|
Java 开发工具 Android开发
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
164 0
|
19天前
|
人工智能 NoSQL 机器人
【C++】VS code如何配置使用C++(手把手教学)
【C++】VS code如何配置使用C++(手把手教学)
|
27天前
|
前端开发
|
1月前
配置vscode
配置vscode
25 4
|
2月前
|
前端开发 JavaScript Windows
前端秘法引言(配置vscode, 以及html的基础)
前端秘法引言(配置vscode, 以及html的基础)
175 0
|
2月前
|
C语言 C++
VScode中C++多文件编译运行问题(使用code runner配置)
VScode中C++多文件编译运行问题(使用code runner配置)
|
3月前
|
Linux C++
vscode中配置cmake及debug使用
vscode中配置cmake及debug使用
263 0
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
VScode配置深度学习环境python+conda
VScode配置深度学习环境python+conda
275 0
|
3月前
|
计算机视觉 C++ Windows
C++VS2019中配置opencv(在空项目中配置opencv和在cmake中配置opencv)-解决的问题 找不到opencv_world440d.dll
C++VS2019中配置opencv(在空项目中配置opencv和在cmake中配置opencv)-解决的问题 找不到opencv_world440d.dll
26 0
|
3月前
vscode配置
vscode配置
153 0