Mac 下搭建 Clion + OpenCV4.x 的开发环境

简介: Mac 下搭建 Clion + OpenCV4.x 的开发环境

搭建 Clion + OpenCV



首先,使用 homebrew 安装 OpenCV (目前最新的版本是 4.4)。

brew install opencv


然后在 Clion 中配置好本地安装的 gcc


Mac 默认的 gcc 版本比较老是 4.2.1(可以通过 gcc --version 命令查看),因此也可以通过 homebrew 安装最新的 gcc。


下面在 Clion 中配置 gcc 的路径,选择的是使用 homebrew 安装的 gcc


image.png

配置gcc.jpeg


编写一个 OpenCV 版本的 Hello World



上面的配置做完之后,我们来创建一个 HelloWorld 的项目


image.png

创建项目.jpeg


新创建的项目,默认使用 CMake 进行构建。因此,需要修改一下 CMakeLists.txt 文件

cmake_minimum_required(VERSION 3.17)
project(HelloWorld)
set(CMAKE_CXX_STANDARD 14)
#find_library(OpenCV)
find_package(OpenCV)
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable(HelloWorld main.cpp)
target_link_libraries(HelloWorld ${OpenCV_LIBS})


其中,需要注意的是


  • find_package 是用于查找依赖包。
  • include_directories 是用于添加 Headers 搜索路径,在这里将 OpenCV 的头文件添加到 include 路径。
  • add_executable 是为工程生成一个可执行文件,并指定所使用的源文件。


add_executable 常用的语法如下:


add_executable(<name> [WIN32] [MACOSX_BUNDLE]

[EXCLUDE_FROM_ALL]

source1 source2 … sourceN)


<name> 是生成的可执行目标文件,会根据本地平台创建出来。


  • target_link_libraries 是为了将目标文件与库文件进行链接。


target_link_libraries 常用的语法如下:


target_link_libraries(<target> [item1] [item2] [...]

[[debug|optimized|general] <item>] ...)


<target>  是 add_executable 生成的目标文件。OpenCV_LIBS 是一个可执行文件的变量,表示


可以链接 OpenCV 库。


然后修改 main.cpp

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
using namespace std;
using namespace cv;
int main() {
    Mat image = imread("test.jpg");
    if (image.empty()){
        printf("Image not loaded");
        return -1;
    }
    imshow("image", image);
    waitKey(0);
    return 0;
}


最后,将 test.jpg 文件放在工程中,就可以编译了。


image.png

放测试文件.jpeg


编译



执行命令:

cmake .


然后再执行命令,用于生成可执行文件

make


image.png

生成可执行文件.jpeg


对于已经生成好的可执行文件,通过如下命令来执行,就可以把图片展示出来了。

./HelloWorld


每次修改 C++ 代码,只需要执行 make 即可。


对于一些常见的错误,如:

Undefined symbols for architecture x86_64:
  "__ZN2cv6imreadERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi", referenced from:
      _main in main.cpp.o
  "__ZN2cv6imshowERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11_InputArrayE", referenced from:
      _main in main.cpp.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status


可以删除 CMakeCache.txt 文件,然后重新 make 一下即可。


总结



在 Clion 中配置 OpenCV 的开发环境并不繁琐,只需要了解 CMake 即可。配置完之后,就可以开心的使用 OpenCV 处理图像了。

相关文章
|
Go iOS开发 MacOS
手把手教你在Mac上从零搭建Go语言开发环境
手把手教你在Mac上从零搭建Go语言开发环境
2088 0
|
JavaScript IDE 开发工具
Mac Vue搭建开发环境
Mac Vue搭建开发环境
67 0
|
6月前
|
存储 计算机视觉 Python
搭建Python-OpenCV开发环境(包括Python、Pycharm、OpenCV下载 图文解释)
搭建Python-OpenCV开发环境(包括Python、Pycharm、OpenCV下载 图文解释)
874 0
|
iOS开发 MacOS Python
在Mac 上搭建Pygame开发环境(含安装错误的解决办法)
在Mac 上搭建Pygame开发环境(含安装错误的解决办法)
|
1月前
|
Windows Python
【10月更文挑战第2天】「Mac上学Python 2」入门篇2 - 开发环境命令行操作与文件管理
本篇将详细介绍Windows和Mac系统中的常用命令行操作与文件管理,帮助用户掌握如何通过终端或命令提示符进行文件管理和操作开发环境。内容涵盖路径切换、文件与文件夹的创建、删除、查看文件内容等基本操作,这些技能是后续Python开发的基础。
124 6
【10月更文挑战第2天】「Mac上学Python 2」入门篇2 - 开发环境命令行操作与文件管理
|
1月前
|
TensorFlow 算法框架/工具 iOS开发
手把手教你-MAC虚拟环境搭建TensorFlow开发环境
手把手教你-MAC虚拟环境搭建TensorFlow开发环境
57 0
|
2月前
|
Oracle Java 关系型数据库
Mac电脑上安装和配置Flutter开发环境
Mac电脑上安装和配置Flutter开发环境
51 3
|
3月前
|
Python
Mac安装Python3.12开发环境
Mac安装Python3.12开发环境
142 2
|
3月前
|
移动开发 JavaScript 开发工具
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
Mac 10.9x下安装配置phonegap3.0开发环境 (涉及android sdk配置)
|
3月前
|
开发工具 git 计算机视觉
在Ubuntu16.04上配置CLion的OpenCV4.3.0开发环境
在Ubuntu16.04上配置CLion的OpenCV4.3.0开发环境
36 0