如何在CLion上配置使用OpenCV?

我的CLion是用mingw的,请问大家是不是可以只配置cmakelists就能运行opencv程序了啊?我试了好几天都失败了。用mingw build也失败了。有谁成功过吗?原理到底是怎么样的呀?都要疯了。。。
关注者
3
被浏览
1747

3 个回答

我的环境是Ubuntu 16.06 + OpenCV 2.4.13。Cmake官网可以查到OpenCV的配置方式。

find_package(OpenCV REQUIRED)

target_link_libraries(${OpenCV_LIBS})

这两个加到CmakeLists里就可以了。
过了好久,我上回配置成功啦hahaha

MinGW和OpenCV

以及CMakeLists,给CLion用


其实这个和CLion关系不大,主要是如何用你的编译器来编译OpenCV。我们需要有include文件夹,这个在写代码时就用的到,还有lib和dll,这俩货我也不是很懂,dll的话没有是可以编译成功的,但运行是要失败的,所以我们是肯定要把dll加入到系统环境变量Path里的。lib是编译时就需要的,所以我们得把lib放在CLion的CMakeLists里面。

下载完Windows的OpenCV,其实我们只有给Visual Studio用的dll和lib,可是我们想要g++来编译和运行,所以就得自己根据OpenCV的sources文件夹来自己编译OpenCV。

我们需要CMake。大概这么用


然后像网上说的那样两次Configure,一次Generate。但可能会失败,因为它需要下载opencv_ffmpeg.dll,就像这样


不用担心,我们可以用迅雷。

打开opencv\sources\3rdparty\ffmpeg,我们打开ffmpeg.cmake,你会发现好像它给了下载链接,只不过需要拼接一下,拼完就像这样:raw.githubusercontent.com。之后在downloads文件夹下面,建立三个文件夹,文件夹的名字是刚才ffmpeg.cmake里面set的三个哈希值,把下载的三个文件对应地放在各自文件夹下面。就像这样


文件名以ffmpeg.cmake为准。之后再去试试看能不能Configure和Generate成功吧。

如果没问题,我们打开cmd,cd到opencv\mingw-build目录下输入mingw32-make,等待完成,我们继续mingw32-make install。结束。打开你的mingw-build文件夹,里面有个install目录就是你要的,可以复制一下这个文件夹,以后就不用重新编译了。我在C盘建立了OpenCV目录,并且把install文件夹下的文件复制进去了,就像这样


C:\OpenCV\x64\mingw\bin加入系统环境变量Path中。

接下去就是CMakeLists怎么写,其实就是加入lib目录和include目录,不过有现成的,就像这样


在配置OpenGL时,我们没现成的,就只好这样


嗯,原理就是这样hahaha。