Windows下Clion配置OpenCV编译环境报错求助
别急,我帮你整理了适配Windows+CLion+MinGW环境的OpenCV配置全流程,都是新手友好的步骤,跟着来就能解决你的问题:
一、先确认你的OpenCV版本是否适配MinGW
你大概率踩了一个新手常见坑:官方OpenCV安装包默认生成的是Visual Studio专用库,MinGW根本用不了。所以第一步要先搞定适配MinGW的OpenCV库:
- 方案1(推荐新手):找别人预编译好的MinGW版OpenCV,解压后要确认目录里存在
OpenCVConfig.cmake或opencv-config.cmake文件(一般在build或者x64/mingw/lib这类子目录里)。 - 方案2(自己编译):用CMake-GUI操作,选OpenCV源码路径和输出路径,指定MinGW的编译器(找到
mingw32-make.exe的位置),依次点Configure、Generate,最后用mingw32-make install完成编译安装。
二、CLion的CMakeLists.txt正确写法
别再照搬Linux的配置了,Windows下要明确指定OpenCV的编译后路径,给你两种靠谱写法:
写法一:直接设置OpenCV_DIR(最直观)
cmake_minimum_required(VERSION 3.20) project(你的项目名称) set(CMAKE_CXX_STANDARD 17) # 把这里的路径替换成你OpenCV编译后包含OpenCVConfig.cmake的目录 set(OpenCV_DIR "D:/opencv-mingw/build") find_package(OpenCV REQUIRED) # 引入OpenCV的头文件 include_directories(${OpenCV_INCLUDE_DIRS}) # 生成可执行文件 add_executable(你的项目名称 main.cpp) # 链接OpenCV的库文件 target_link_libraries(你的项目名称 ${OpenCV_LIBS})
写法二:通过环境变量配合CMAKE_PREFIX_PATH
如果你已经把OpenCV根目录加到了系统PATH,也可以用这种方式:
cmake_minimum_required(VERSION 3.20) project(你的项目名称) set(CMAKE_CXX_STANDARD 17) # 把OpenCV编译后的目录加入CMAKE_PREFIX_PATH set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};D:/opencv-mingw/build") find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(你的项目名称 main.cpp) target_link_libraries(你的项目名称 ${OpenCV_LIBS})
三、CLion的工具链检查
确保CLion用的是MinGW工具链:
- 打开
File -> Settings,找到Build, Execution, Deployment -> CMake - 查看你的CMake Profile对应的Toolchain,确认是你安装的MinGW(不是Visual Studio的工具链)
- 改完后重启CLion,让CMake重新加载配置(环境变量的改动有时候需要重启才生效)
四、最后排查几个常见问题
如果还是报错,检查这几点:
- 确认
OpenCV_DIR指向的目录里确实存在OpenCVConfig.cmake,没有的话说明你的OpenCV不是MinGW编译版本,白忙活了。 - 把OpenCV的
bin目录(比如D:/opencv-mingw/build/x64/mingw/bin)加到系统PATH,不然运行程序时会找不到dll文件。 - 不要把OpenCV的源码目录直接设为
OpenCV_DIR,必须是编译后的build目录。
内容的提问来源于stack exchange,提问作者Bahman Rouhani
相关产品推荐
相关产品推荐

