前言
- 最近看到有人想用CLION写opencv程序,我自己查了些博客,发现给出的意见或教程大多数都无法实现,一些给的太过简单,一些折腾经验不足的人可能会走弯路,故分享自己的经验。
- 在windows下使用clion写C++可以使用g++(windows下叫MinGW),也可以使用msvc(微软的编译器,必须下载Visual studio)
- 不推荐使用mingw,因为现在opencv不在 提供编译好的mingw版本,也就是说需要你自己编译opencv源代码,即使用cmake,本人编译多次均在过程中出错,也不知道如何解决,有实力的可以自己去尝试,本人不推荐
# 安装visual studio 2019(可选其他,最好版本高一些)
-
社区版即可,其他的也行,下载
-
选择工作负载,一定要选上C++桌面开发那个(废话,只要不是傻子都应该知道)
-
其他不在啰嗦
安装Clion
- 官网下载,点击下载30天试用,(天朝自有国情233)
- 安装
安装cmake (用来构建工程,而非编译源代码)
- 官网下载,点击下载国内访问可能比较慢,自己想办法克服
- 安装
配置opencv 环境
- 不在啰嗦,大家自己都能配,很多博客教程
- 注意:如果装的vs2019(2017估计也一样),配置环境的时候配置vc15,不要配置vc14
打开clion 选择 setting->Build,Execution,Deployment->Toolchains,会自动弹出vs的配置,如图,如果没有可以自己添加
- 新建工程
- 在cpp文件中添加
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat a(3, 3, CV_8UC1, 3);
std::cout << a;
std::cout << "Hello,World!" << std::endl;
return 0;
}
在CMakeLists.txt文件中
cmake_minimum_required(VERSION 3.14)
project(aa)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_PREFIX_PATH D:\\OpenCV\\opencv4.1.0\\opencv\\build)
# set(OpenCV_DIR G:\\opencv\\build\\x64\\vc15\\lib)
find_package(OpenCV REQUIRED)
# 有时候写find_package(OpenCV4 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
#如果cmake找不到库就把上面一条换为下面的语句
# include_directories(G:\\opencv\\build\\include\\opencv2})
add_executable(aa main.cpp)
target_link_libraries(aa ${OpenCV_LIBS})
- 注意 如果
- set(OpenCV_DIR G:\opencv\build\x64\vc15\lib)
设置libs的路径,后面须指定include路径,一般不会自动寻找(linux可以),具体修改为自己的路径。
运行结果
错误情况
- 有时候可以编译,但是运行时候会会出现以下问题
-
Process finished with exit code -1073741515 (0xC0000135)
- 解决办法