Clion+OpenCV+CMake in Windows

本文详细介绍如何在Clion中配置并使用OpenCV的过程。包括软件下载与安装、CMake编译OpenCV、Clion配置步骤及常见问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看效果图:

使用我最喜欢的游戏DNF作为背景展示这个过程。

Clion

这款软件是学长推荐的。

由于我之前一直使用的是VScode,感觉非常好,但是在调试的时候感觉VScode的功能不足。于是选择了调试功能非常强大的Clion

不过呢,VScode确实好用,里面有很多很多插件,在我写ROS、注释、远程连接中有很大的帮助。

OpenCV

一个开源第三方库。

像这一种比较超级大的开源库,都有一个比较难受的配置过程。

但是里面的东西超级好用啊!

0. 绪论

网上有很多很多的教程,当然不止是Cloin的。虽然IDE本质差别不大,但是还是建议使用哪个IDE就看哪个教程!

准备材料:

  • OpenCV 源码
  • CMake
  • MinGW

这篇文章写的并不好,因为是在我室友的希望下写出来的。很多内容都是原来我已经做过的,因此是凭借记忆写出来的。如果想要看比较完整的方法,可以直接看参考文献中的第一个,第二个和第三个都是一些辅助性的文献。当然,本文也可以看成是辅助性的文献。

1.软件下载

1.1 OpenCV的下载

直接百度搜索OpenCV,进入官网(为什么没有直接贴地址呢?因为这里面的东西都要了解)

点击Releases

可以选择版本,然后点击Source就可以开始下载源码了!

1.2 CMake的下载

https://cmake.org/download/

1.3 MinGW下载

https://sourceforge.net/projects/mingw-w64/?source=directory

点进去自己下载(不下载就手动下一下)

2.软件安装

2.1 MinGW的安装

然后配置环境变量

从这里也可以看到,下面CMake的环境配置以及opencv的环境配置都这么做!!!

2.2 CMake与OpenCV的安装

配置都如同上面一样做

3. CMake编译OpenCV

然后点击configure,之后点击Generate

基本就没问题了

4. 配置Clion

下面写一个CMakeLists文件

参考为: https://blog.youkuaiyun.com/qq_34342145/article/details/80893865

cmake_minimum_required(VERSION 3.17)
project(code_in_clion)

set(CMAKE_CXX_STANDARD 14)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# Where to find CMake modules and OpenCV
set(OpenCV_DIR "D:\\opencv-4.5.1\\build\\install")#改为mingw-bulid的位置
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(code_in_clion
        test.cpp)

target_link_libraries(code_in_clion ${OpenCV_LIBS})

再写一个test.cpp文件

//
// Created by W on 2021/1/19.
//
#include "iostream"
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;

int main()
{
    // 由于binary文件是在文件夹内,因此需要..
    Mat a = imread("..\\TEST.png", 1);
    imshow("阿拉德大陆", a);
    waitKey(0);
    return 0;
}

文件结构

5. 可能出现的问题

报错Process finished with exit code -1073741515 (0xC0000135)

点击【Edit Configuations】:

加入:PATH=D:\opencv-4.5.1\build\install\x64\mingw\bin

就能够解决了!

参考链接

https://blog.youkuaiyun.com/weixin_40448140/article/details/104720134

效果:

6. 参考文献

https://blog.youkuaiyun.com/zhaiax672/article/details/88971248

https://blog.youkuaiyun.com/qq_34342145/article/details/80893865

https://blog.youkuaiyun.com/weixin_40448140/article/details/104720134

### 配置 CLionOpenCV 的集成环境 为了在 Windows 上成功配置 CLion 使用 OpenCV,需要完成以下几个方面的操作: #### 1. 安装必要的工具链 - **CLion**: 下载并安装最新版本的 CLion 工具[^2]。 - **MinGW-w64 或 MSVC**: 可以选择 MinGW-w64 作为编译器[^1],或者使用 Visual Studio 提供的 MSVC 编译器。确保已正确安装并配置好编译器路径。 - **CMake**: 确保已经安装了 CMake 并将其加入系统的 PATH 环境变量中。 #### 2. 下载和构建 OpenCV 如果尚未安装 OpenCV,则需先下载源码包,并通过 CMake 构建适合当前开发环境的目标库文件。具体步骤如下: - 解压 OpenCV 源代码到指定目录。 - 创建一个新的构建目录用于存储生成的结果文件。 - 打开 CMake GUI,设置源代码路径为目标解压后的 `opencv` 文件夹以及目标输出路径为新建的构建文件夹。 - 在 CMake 中启用选项如 WITH_MINGW (针对 MinGW 用户),调整其他必要参数后点击 Configure 进行初始化检测。 - 当确认无误之后执行 Generate 动作来生产 Makefile 或者解决方案(.sln)形式的内容以便后续进一步处理。 #### 3. 设置 CLion 项目中的 CMakeLists.txt 文件 编辑项目的根目录下的 `CMakeLists.txt` 文件,添加以下内容以支持 OpenCV 库加载与调用[^3]: ```cmake # 寻找本地安装好的 opencv 路径 find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(your_project_name main.cpp) target_link_libraries(your_project_name ${OpenCV_LIBS}) ``` 上述脚本片段实现了自动定位系统中存在的预设版次 open cv 头档位置及其关联动态连接库档案地址;接着声明了一个可执行程序实体名称 your_project_name ,最后一步就是把先前发现的所有依赖项都绑定给这个新建立起来的应用端实例对象之上。 #### 4. 测试运行简单的 OpenCV 示例代码 验证整个流程是否正常工作的一个简单方法就是在 src/main.cpp 加入一段基础测试逻辑比如读取图片显示窗口之类的功能实现部分代码示例展示如下所示: ```cpp #include <iostream> #include <opencv2/opencv.hpp> int main() { std::string image_path = "test.jpg"; // 替换为你自己的图像路径 cv::Mat img = cv::imread(image_path, cv::IMREAD_COLOR); if (!img.data){ std::cout << "Could not open or find the image!" << std::endl; return -1; } cv::namedWindow("Display Image", cv::WINDOW_AUTOSIZE ); cv::imshow("Display Image", img); cv::waitKey(0); // Wait for a keystroke in the window return 0; } ``` 此段落描述了一种基本的操作模式即从磁盘加载一幅位图数据结构体再经由图形界面呈现出来直至用户按键结束为止的过程概述而已。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值