暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于clion+cmake+mingw 搭建opencv c++开发环境

Jerry分享汇 2021-04-12
2514

此篇贡献给那些被VS坑害不能开发opencv的小伙伴们。


目录

一,Clion 安装,配置

二,MinGW 安装、配置

三,CMake 安装、配置

四、Opencv安装、配置

五、Clion 开发环境配置


友情提示:不翻墙别想搭建成功!我最终搭建成功是依靠网友们的网盘资源,感谢分享!


一,Clion 安装,配置

1、官网地址

https://www.jetbrains.com/clion/download/#section=windows

2、破解Clion

由于资源更新比较快,可自行度娘破解教程。


二,MinGW 安装、配置

1、官网地址

http://www.mingw.org/

正常的操作是使用下面这个工具进行在线下载及安装MinGW,但是请看坑点一

坑点一

这步不用尝试了,在线上下载依赖包的地址是不可用的,就这个错误,不停的弹出,弹到吐。

主要是因为prdownloads.sourceforge.net这个地址不可用。

如果你非要尝试一下,则可以参考MinGW下载和安装参考教程:

http://c.biancheng.net/view/8077.html

https://www.cnblogs.com/wuxun1997/p/13364183.html

解决方案:

(1)、下载离线包(64位)

 链接:https://pan.baidu.com/s/17JPRFzeZEhqxceWUTXTAog
提取码: c8uc

(2)、解压后,配置环境变量

PATH中增加 例如 C:\Software\MinGW\bin

三,CMake 安装、配置

1、官网地址

https://cmake.org/download/

https://cmake.org/files/

坑点二:

还是下载不了安装程序包的。

解决方案:

(1)、下载安装包

链接:https://pan.baidu.com/s/1e9KJsbonsV_bVyh0c_blrw
提取码:7zvm

选择版本:cmake-3.17.0-win64-x64.msi

(2)、安装后,配置环境变量

PATH中增加 例如 C:\Software\CMake\bin

四、Opencv安装、配置

1、官方地址

https://opencv.org/

2、源代码地址

https://github.com/opencv/opencv

为什么要提及这个源码地址,是因为需要我们自己编译mingw版本的包,网上大部分版本是基于vs的,可以直接用,但是基于mingw的没有,再一个opencv比较娇气,最好还是结合自己的环境编译一个,不然可能遇到很多未知的问题。

3、编译opencv

(1)、使用git下载源码,地址如上,可采用master版本,如果有版本要求,自行切换。

(2)、使用Cmake,打开cmake-gui.exe

(3)、配置Cmake、Generate

一个是源码路径,一个是编译路径,分开创建。

点击"Configure" 按钮,配置gcc、g++程序,如果配置正确则不会变红。

  • Specify the generator for this project: MinGW Makefiles

  • Specify native compilers

  • Next

  • Compilers C: C:\Software\CMake\bin\gcc.exe

  • Compilers C++: C:\Software\CMake\bin\g++.exe

  • Finish

坑点三:

如果没有配置Cmake环境变量,则会报一个 No CMAKE_CXX_COMPILER could be found.错误,请配置。

坑点四:

cmake 编译opencv 缺失opencv_ffmpeg.dll 、 opencv_ffmpeg_64.dll、ffmpeg_version.cmake的问题。

可以通过日志文件看下为什么,看了就知道其实核心问题就是文件没有下载下来,其地址是raw.githubusercontent.com

不要相信网上什么copy文件到这里,那里的文档,要想拷贝你需要有原始文件才行,最终发现一个良心网友的方案,可行。

解决方案:

(1)、用代理网站,https://site.ip138.com/raw.Githubusercontent.com/

(2)、输入raw.githubusercontent.com

(3)、修改host文件,C:\Windows\System32\drivers\etc\hosts,增加

             151.101.76.133 raw.githubusercontent.com

(4)、重新Configure即可。

完成这些,Configure没有什么问题,但是后续install还会遇到一些问题:

因此需要提前做一些处理,去Configure配置中找到一些选项:(具体根据自己的需求进行添加和去除)

  • 勾选 WITH_OPENGL

  • 不勾选 WITH_IPP

  • 不勾选 ENABLE_PRECOMPILED_HEADERS

这部分具体的错误,拿着错误提示可以度娘,都有很好的借鉴。

(4)、编译、install

进入到build目录,自己创建的那个目录,执行以下命令,很慢,慢慢等

mingw32-make -j 8mingw32-make install

最后在build、install目录下生成x64的mingw就表示成功啦。

五、Clion 开发环境配置

1、配置Toolchains

cmake要配置自己安装的那个cmake,不要用默认的,不然有错误。

2创建C++工程,关键配置CMakeLists.txt

cmake_minimum_required(VERSION 3.14)
project(test_20200912)

set(CMAKE_CXX_STANDARD 14)

add_executable(test_20200912 img_read.cpp)

set(OpenCV_DIR E:/project/opencv_build/install/x64/mingw/lib)//编译后的opencvlib
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(test_20200912 ${OpenCV_LIBS})

file(GLOB OPENCV_DLLS "E:/project/opencv_build/install/x64/mingw/bin/*.dll")//编译后的dll
add_custom_command(TARGET test_20200912
      POST_BUILD
      COMMAND ${CMAKE_COMMAND} -E copy_if_different
      ${OPENCV_DLLS}
      $<TARGET_FILE_DIR:test_20200912>)

3、helloworld

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
  std::cout << "Hello, World!" << std::endl;
  Mat mat = imread("E:\\c-workspace\\test_20200912\\1.jpg");
  imshow("898998",mat);
  waitKey();
  return 0;
}

至此,你就可以快乐的使用OpenCV进行开发了,完美的避开可VS的困扰。


文章转载自Jerry分享汇,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论