Clion配置opencv開發(fā)環(huán)境的詳細過程
之前嘗試用vs寫opencv的項目,但是因為各種使用習慣很難改過來,加上vs的快捷鍵和代碼智能提示相當?shù)牡疤?,所以嘗試著在clion上配置opencv開發(fā)環(huán)境。
以下是詳細配置過程:
預先需要安裝的軟件:
clion:這個是jetbrain家出品的C++集成開發(fā)環(huán)境,如果你用習慣了idea,pycharm,那么上手這個軟件,應該也是比較簡單的。相比較巨硬家的visual studio而言,個人覺得vs的快捷鍵著實蛋疼,而且用的確實少,一些窗口設置不太習慣。這個軟件安裝比較簡單,不詳細展開
mingw: opencv需要用到c++編譯環(huán)境,mingw是比較常用的一個。不過,需要安裝支持多線程的版本,即posix版本,如果不用這個版本,在編譯的時候會出問題。[下載地址](https://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains targetting Win64/Personal Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z) ,下載好之后,還需要配置環(huán)境變量,如下圖所示:

通過在命令行中運行如下命令,查看是否成功安裝
gcc --version

cmake:這個軟件的安裝也比較簡單,也可以不用配置環(huán)境變量,因為后期生成Makefile文件也是在gui界面里面生成的。Cmake下載地址 舊版的Cmake可以自定義設置entry開啟或者關閉,我下載的是最新的,問題不大。
編譯安裝opencv
- 下載opencv并解壓到一個路徑下
- 使用cmake-gui生成makefile文件
下載好后的opencv存放路徑和文件目錄結構如下

打開cmake的圖形化工具,選擇好相應的路徑

然后選擇tools菜單,點擊configure,這個過程需要持續(xù)一定的時間,并且很可能會失敗,遇到各種錯誤,遇到錯誤之后,不用擔心,一個一個錯誤解決即可,大部分的錯誤基本上都是文件下載失敗錯誤。這個過程會在GitHub上下載三個文本文件,如果沒有配置FQ的話,很有可能會下載失敗,我們可以手動下載好這三個文件并存放到相應的目錄,即可成功解決。之后繼續(xù)點擊configure。

這三個下載失敗的文件,就是上圖中藍色字體,復制對應的下載路徑,手動下載好之后,修改文件名,然后存放到對應的目錄中。
舉個例子:
第一個文件,下載路徑是:https://raw.githubusercontent.com/opencv/opencv_3rdparty/629590c3ba09fb0c8eaa9ab858ff13d3a84ca1aa/ffmpeg/opencv_videoio_ffmpeg.dll
存放的路徑是:
D:/software/opencv_clion/opencv/sources/.cache/ffmpeg/638065d5a0dab8a828879942375dcac4-opencv_videoio_ffmpeg.dll
文件內(nèi)容須和指定文件下載鏈接中的文件內(nèi)容一致,第三個文件用瀏覽器打開是直接顯示文件內(nèi)容,如果你選擇復制手動創(chuàng)建這個文件,md5校驗可能會失敗(空格或者其它的字符不匹配等等),文件名,文件存放路徑,必須和日志文件完全一樣。
排查好這三個錯誤,后面繼續(xù)configure就沒有問題了。
這三個文件,我也提供下載鏈接:
configure結束之后,開始generate,也是點擊cmake的tools菜單項,選擇generate,生成makefile文件
然后git bash進入到mingw_build目錄下,之后運行以下命令
mingw32-make -j4
利用mingw進行編譯。-j4代表使用四個線程加速編譯??筛鶕?jù)自己電腦配置合理選擇。 編譯時間較長,大約十幾分鐘左右。此時如果報錯可能是MinGW版本選擇問題。
結束之后,運行以下命令
mingw32-make install
配置環(huán)境變量,將{opencv_homedir}/opencv/MinGW-build/install/x64/mingw/bin加入環(huán)境變量中的path中。
clion新建項目
CMakeLists.txt文件內(nèi)容如下:
cmake_minimum_required(VERSION 3.20)
project(learnopencv)
set(CMAKE_CXX_STANDARD 14)
set(OpenCV_DIR D:\\software\\opencv\\mingw_build\\install)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(learnopencv main.cpp)
target_link_libraries(learnopencv ${OpenCV_LIBS})main.cpp文件內(nèi)容如下:
#include "iostream"
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
Mat img = imread("D:\\projects_cpp\\unarchived\\learnopencv\\images\\lena.jpg");
if (img.empty()) {
cout << "Error" << endl;
return -1;
}
imshow("Lena", img);
waitKey();
return 0;
}運行結果如下:

到此這篇關于Clion配置opencv開發(fā)環(huán)境的文章就介紹到這了,更多相關Clion配置opencv開發(fā)環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C++中rapidjson將嵌套map轉為嵌套json的講解
今天小編就為大家分享一篇關于C++中rapidjson將嵌套map轉為嵌套json的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04
vscode 配置 C/C++編譯環(huán)境(完整教程)
這篇文章主要介紹了vscode 配置 C/C++編譯環(huán)境(完整教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
C++實現(xiàn)LeetCode(135.分糖果問題)
這篇文章主要介紹了C++實現(xiàn)LeetCode(135.分糖果問題),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07

