基于CLion和CMake的OpenCV安装及环境配置

Windows下基于Clion和CMake的OpenCV的安装及环境配置

为什么不用传统的Visual Studio + OpenCV的组合?

  • VC有点大,安装个C++好像就5G起步
  • 我用jetbrains用的比较多,PyCharm,Clion,IDEA,UI和风格相对熟悉
  • 看了看QT creator的界面,感觉还是jetbrains的好看

所以主要是好看呗

1. 下载安装

1.1 OpenCV

OpenCV官网:Releases - OpenCV;下载

  • 选择需要的版本(一般都选新的,但是2021.8.7当时OpenCV4.5.3前面带了个红色的*,怀疑是测试版,于是我选了4.5.2)
  • 下载需要的类型,一般对于Windows用户选择Windows或Sources

Windows下载的是.exe可执行文件,安装包;Sources下载的是OpenCV的源代码,88M左右大小;

  • 我在下载windows时,遇到了网速极慢或直接拒绝访问的情况(VPN杯水车薪或无用),在国内找的资源,Index of /opencv (bzblog.online),这是一位CSDN上博主提供的,可以在这里面下载到OpenCV4.5.2;如果届时资源废弃了大家可以自己找,或者直接下Sources源代码,是可以的
  • 如果下载的windows的exe文件,常规安装,安装后会发现文件夹里有build和sources两个文件夹和一些CMake的文件;这个Sources应该和官网上直接下载的Sources是一样的;

至此,OpenCV部分完成

1.2 CMake

CMake官网:Download | CMake;下载

选择需要的版本(一般选新的)

Source distribution 和 Binary distribution的区别:

  • Source是源代码文件,需要自己编译,不建议选择
  • Binary是编译好的二进制文件,可以直接用,我选择的是Windows x64 Installer,.msi后缀文件(微软格式安装包);

需要考虑**Installer tool has changed. Uninstall CMake 3.4 or lower first!**这句提示吗?(在Windows x64 Installer后面)

  • Clion是支持CMake的,但我仍然选择了安装CMake,因为我去CLion里面的plugin找了CMakeGUI.exe打开不能用,不太清楚CLion对CMake到底做成了什么地步,所以干脆自己安了个CMake;
  • 正常安装就行,安装教程可以查;
  • 让安装包直接配置环境变量(相信到那一步的时候你能看懂的),忘记配置的话再手动配置也可以,配环境变量算是基础了

至此,CMake部分完成

1.3 MinGW

官网:MinGW

C++编译器,下载安装配置参考下面CLion的;

也有人使用TDM-GCC,都行吧;

1.4 CLion

jetbrains官网下载,我的是教育版,门路很多,自己找找;

CLion的配置就不介绍了,一般用的人都配置好了,从头开始的再找CLion配置教程吧;

Windows上CLion配置和使用教程_lu_linux的博客-CSDN博客_clion安装和配置

至此,CLion部分完成

2. 编译

在openCV文件夹新建一个Mingw-build文件夹(与build文件夹对应,名字随便起,我是用的MinGW所以我这么命名)

  • build文件夹是用VC编译的,在CLion使用CMake时并不适用,所以一定不要对build文件夹进行环境变量配置,没用的

删除python和anaconda的环境变量

  • 没用过就不用管了,一般用过python的都有这两个东西
  • 还是要删掉的,我一开始直接拿CLion打开source直接build就弹出警告,告诉我python3.8不匹配,最好是python2.7,并且配置一个PYTHON_EXECUTIVE的环境变量,所以最好还是先删掉python的东西,记得保存,一切弄完再写回来

接下来,打开CMake/bin/CMakeGUI.exe

  • 选择source,你要编译的源代码,就是source文件夹
  • 选择build,编译后文件位置,就是刚刚命名的文件夹
  • 此处需要复制opencv->build->bin下的两个文件:opencv_ffmpegxxx.dll、opencv_ffmpegxxx_64.dll到opencv/sources/3rdparty/ffmpeg/目录下(我的只有一个文件,所以我只复制了一个)
  • 点击configure
  • 在configure之前或之后,需要选择编译器,我选的就是MinGW(用哪个选哪个,比如我一开始选教程上的nmake结果报错根本没安这个编译器),然后native complier本地编译器
  • configure之后,会一大堆红色,再点一次configure,变成全白色(但是日志里有很多not found,还有关于python各种warning和errors)
  • 点击generate
  • 进入刚才创建的mingw-build文件夹,直接右键Git bash here,然后使用make命令进行编译
mingw32-make -j8
  • j后面跟的是几线程的意思,网上教程有2有8,看自己电脑情况来吧,都可以、
  • 编译时间比较长,结束后输入
mingw32-make install

至此,编译结束

3. 环境

配置环境变量

  • 系统变量Path添加:openCV/ mingw-build/ install/ x64/ mingw/ bin
  • 新建变量OpenCV_DIR:路径就是mingw-build文件夹

Project里的CMakelist.txt文件

  • 我设置的是autoload,反正修改完之后reload一下,和android studio的gradle类似感觉
  • 添加如下代码
set(OpenCV_DIR "D:\\ProgramingSW\\opencv\\mingw-build") 

为什么又写一遍,因为我发现不写的话系统会报错让你manualy写一遍

FIND_PACKAGE(OpenCV REQUIRED)
IF (OpenCV_FOUND)
    INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
    TARGET_LINK_LIBRARIES(project_name ${OpenCV_LIBS})
ELSE (OpenCV_FOUND)
    MESSAGE(FATAL_ERROR "OpenCV library not found")
ENDIF (OpenCV_FOUND)
  • 注意TARGET_LINK_LIBRARIES的project_name是该工程文件的名,一般在CMakelist前两行出现,自己应该也知道

至此,环境结束

4. 参考

  • windows下使用Clion进行OpenCV开发环境搭建及排错指南 - SegmentFault 思否
  • clion配置opencv3.20(cmake+tdm-gcc)_RookieWantToFly的博客-CSDN博客(他用的就是nmake)
  • win10系统,opencv2.4与clion配置_minggai008的博客-CSDN博客
  • use OpenCV with Clion IDE on Windows - Stack Overflow

你可能感兴趣的:(随记,opencv,c++,cmake,windows)