在windows系统上使用clion配置opencv
一、Clion
一、下载Clion
在JetBrains官网下载Clion:https://www.jetbrains.com/clion/download/#section=windows,点击Download,软件为正版软件,需要收费激活,如果是学生可以通过学生认证免费使用JetBrains公司下所有软件,打开JetBrains关于学生认证的网站:https://www.jetbrains.com/shop/eform/students进行激活

二、安装Clion
一直next即可

通过学生认证后在下载,将不显示此页

二、配置MinGW环境
Jet Brains 的 Clion 目前可以配置 一下四种环境MinGW、Cygwin、VS、WSL;下面将配置的环境为MinGW.
一、下载MinGW
安装成功后打开软件,新建一个项目,会提示Toolchains are not configured Configure,因此需要安装MinGW或Cygwin或Visual Studio等编译器。

打开MinGW下载页面https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/
向下拉,找到压缩包,点击下载


将下载的压缩包解压,记住存放解压文件的路径

2、配置MinGW环境
打开Clion,点击configure,或者选择File-Settings-Build-Toolchains


点击 + 号,选择MinGW


在Environment中输入之前MinGW解压文件的路径,之后下面的会自动输入(注意项目地址路径不能有中文,否则会报错)

这样就表示Clion配置成功

三、配置环境变量
1、将D:\Environment\mingw64\bin加入环境变量中的path中。
将此电脑右键点击属性

找到高级系统设置

点击环境变量

找到系统变量中的Path,并点击编辑

不要直接新键,点击编辑文本

把安装MinGW的路径加进去,路径之间用‘;’隔开

D:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin;
D:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\include;
D:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\lib;
D:\opencv\mingw-build\install\x64\mingw\bin;
2、完成后可在命令行中输入gcc -v

三、配置Cmake环境
1、下载CMake安装包,https://cmake.org/download/
2、安装中一直next。选择配置环境到变量,忘记了也可以自行配置。
3、在终端输入cmake -version检测是否配置成功

四、Opencv
1、下载opencv,https://sourceforge.net/projects/opencvlibrary/files/3.4.8/opencv-3.4.8-vc14_vc15.exe/download(在这里使用的是opencv3.4.8版本)
2、安装opencv,注意安装目录
3、目录结构如图

配置好MinGW(gcc添加到了环境变量)和CMake环境,并下载安装完成opencv。
五、利用CMake生成opencv的makefile文件
1、新建文件夹D:/opencv/MinGW-build
2、打开CMake(gui),点击Browse Source…和Browse Build…选择源文件目录和生成文件目录。分别选择D:/opencv/sources和D:/opencv/MinGW-build,如下图:

3、点击Configure ,在弹出的窗口选择类型为MinGW Makefiles.


分析
根据错误提示打开D:/opencv/mingw-build/CMakeDownloadLog.txt从中可发现出错的文件夹是D:/opencv/sources/.cache。在D:/opencv/sources/.cache中,凡是文件大小是0KB,都是无法下载并报错的。

解决方法
1、打开https://github.com/opencv/opencv_3rdparty,找到正确版本的ffmpeg并下载。


2、将下载的ffmpeg相关文件拷贝到D:/opencv/sources/.cache中。打开cmd,输入编译命令获取各个文件的MD5。当MD5相同时,用已下载的dll替换对应大小为0KB的dll文件,注意修改文件名,其格式是:MD5-文件名。
(不小心改成了记事本的形式)

cd /d D:\opencv\sources\.cache\ffmpeg
certutil -hashfile ffmpeg_version.cmake MD5

3、同样的,对D:/opencv/sources/.cache大小为0KB的文件进行如上类似操作,最后重新点击Configue,会发现红色区域变白,此时可以点击Generate,等待操作完成。

六、使用MinGW编译opencv,并配置环境变量
1、打开cmd,进入D:\opencv\mingw-build目录。(在此目录文件夹的导航栏输入cmd)
cd /d D:\opencv\mingw-build
2、mingw32-make -j4 即利用mingw进行编译。-j4代表使用四个线程加速编译。可根据自己电脑配置合理选择。 编译时间较长,大约十几分钟左右。此时如果报错可能是MinGW版本选择问题。

3、mingw32-make install 此命令较快,会将编译生成的文件整合到D:/opencv/mingw-build/install目录中

4.、配置环境变量,将D:/opencv/mingw-build/install/x64/mingw/bin加入环境变量中的path中。

七、在clion项目中使用opencv
1、新建一个项目,编辑CMakeLists.txt,如下所示:
cmake_minimum_required(VERSION 3.20)//版本号可通过 cmake -version查看
project(clion_opencv)//项目名
set(CMAKE_CXX_STANDARD 14)
add_executable(clion_opencv main.cpp)
set(OpenCV_DIR D:/opencv/mingw-build/install)
find_package(OpenCV REQUIRED)
target_link_libraries(clion_opencv ${OpenCV_LIBS})
2、编辑main.cpp,如下:
#include <iostream>
#include <cstring>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main() {
auto path = R"(D:\clion_opencv\1.jpg)";
Mat img = imread(path);
if (img.empty()) {
cout << "Error" << endl;
return -1;
}
namedWindow("pic", WINDOW_AUTOSIZE);
imshow("pic", img);
waitKey();
return 0;
}
3、啊啊啊啊啊啊啊终于成功了

参考:
1、https://www.cnblogs.com/attentle/p/12652512.html
2、https://zhuanlan.zhihu.com/p/363803758
3、https://blog.csdn.net/qq_39274066/article/details/89984984
4、https://www.jianshu.com/p/52de9de70891
本文详细介绍了如何在Windows系统上使用Clion配置OpenCV,包括下载与安装Clion,配置MinGW环境,设置Cmake,下载安装OpenCV,通过CMake生成makefile文件,使用MinGW编译OpenCV,并最终在Clion项目中成功使用OpenCV。

1536

被折叠的 条评论
为什么被折叠?



