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 处理图像了。

相关文章
|
8月前
|
iOS开发 MacOS Python
在Mac 上搭建Pygame开发环境(含安装错误的解决办法)
在Mac 上搭建Pygame开发环境(含安装错误的解决办法)
|
8月前
|
Ubuntu Linux 网络安全
clion配置Linux远程开发环境–开发QT桌面软件
接下来可以开始配置clion的远程开发环境 1.配置Clion工具链
442 0
|
9月前
|
Go 开发工具
mac下安装go的开发环境
mac下安装go的开发环境
|
Go 开发工具 iOS开发
Mac 下搭建 Go 开发环境 | 学习笔记
快速学习 Mac 下搭建 Go 开发环境
379 0
|
敏捷开发 Ubuntu Unix
一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境
时光荏苒,过隙白驹,进入2023年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和平台中,高效部署Python3.10开发环境,这里我们并不依赖其他的三方软件,只通过Python官方的安装包进行配置,编辑器我们依然使用微软开源的Vscode,争取在一分钟以内就可以在一台干净的开发机上部署好环境,省去一些不必要的步骤。
一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境
|
Oracle Java 关系型数据库
珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)
也许有人从未听说过Python,但是不会有人没听说过Java,它作为一个拥有悠久历史的老牌编程语言,常年雄踞TIOBE编程语言榜首,其顶尖的霸主地位不可撼动,而M1 mac业已发布了一段时间,作为跨时代的顶级芯片系统,这两大巨头能否珠联璧合,让开发者们猛虎添翼、更上层楼?本次我们尝试在M1 mac系统中搭建Java开发环境,并且集成目前Web开发领域红的发紫的Springboot框架,另外,谁说玩儿Java就必须得用Eclipse或者IntelliJ IDEA?我们就骄傲地使用Vscode。
珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)
|
机器学习/深度学习 开发框架 Java
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境
在每个开发者心里,都会有一门“最好”的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名字叫做Ruby,它今年二十八岁了,历史和Java一样的悠久,但是它没有大厂背书、它的性能被开发者诟病、时至今日依然无法高效利用多核资源,甚至于它每年都要被“死亡”一次,相比于有太阳计算机系统、甲骨文、IBM 这些大公司支持的 Java,它是那么的一无所有,但是,它又拥有全世界最虔诚的“信徒”,拥有最活跃的开发者社区,这一切,又让它是那么的应有尽有。是的,这就是Rubyist的理念:有的时候,你想证明给一万个人看,到后来,你发现只得到了一个明白的人,那就够了。
别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境
|
计算机视觉
MAC上编译OpenCV
MAC上编译OpenCV
97 0
|
IDE 编译器 Linux
CLion + MinGW64配置C语言开发环境 Visual Studio安装
CLion + MinGW64配置C语言开发环境 Visual Studio安装
CLion + MinGW64配置C语言开发环境 Visual Studio安装
|
JavaScript Java 关系型数据库
Mac不会用?玩转brew,部署web开发环境【jdk、git、msyql、maven、node】全家桶,前后端覆盖
Mac不会用?玩转brew,部署web开发环境【jdk、git、msyql、maven、node】全家桶,前后端覆盖
917 0
Mac不会用?玩转brew,部署web开发环境【jdk、git、msyql、maven、node】全家桶,前后端覆盖