MAC安装openCV并用g++运行

百度了一下安装openCV的教程,发现大部分都是使用homebrew安装的。而homebrew安装openCV的时候会重复安装一些依赖,比如我电脑上已经有gcc编译器了,它又在homebrew的目录下给我安装了一个gcc。而且还会安装一大堆依赖包在homebrew目录里面,看起来非常不爽。于是打算直接编译opencv的源代码来进行安装。

一、安装cmake

使用homebrew安装cmake(没有homebrew的同学请自行搜索),在终端输入:

brew install cmake

二、下载openCV源码

openCV官网选择一个版本的源码Sources下载即可。下载完成后,在终端进入openCV的目录:

cd <你的openCV目录>

在目录下新建一个build/文件夹,用于存放cmake编译生成的文件:

mkdir build

然后使用cmake编译文件到build/文件夹中:

cmake -B build -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local

接下来终端会输出一大堆编译的信息,等编译完成后,进入刚刚新建的build/文件夹:

cd build

build/文件夹中有cmake编译出的文件,输入make继续编译:

make

等终端输出完一堆编译信息后,输入以下指令进行安装:

sudo make install

到这里OpenCV就算安装完毕了,接下来编写代码进行测试,看能不能正常调用。

(*以下是在我的电脑上发现的错误,对于不同的电脑可能有不同的情况,仅供参考。)

三、测试能否正常调用OpenCV

编写以下代码:

#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;

终端提示:

test.cpp:2:10: fatal error: 'opencv2/opencv.hpp' file not found

/usr/local/include/目录下查看,发现只有opencv4/目录,而opencv2/目录在opencv4/目录下。因为include默认是查找/usr/local/include/目录中的文件/文件夹,所以没有找到opencv2/目录。

这个时候有三种解决办法:

  • 直接将/usr/local/include/opencv4/中的opencv2/复制一份到/usr/local/include/下。
  • /etc/profile文件的末尾添加以下语句:
    export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/opencv4
    
  • 使用符号链接命令:
    /usr/local/include下运行此命令:
    ln -s ./opencv4/opencv2/ ./opencv2

之后includeopencv的文件便不会报错,但是运行时还需要链接具体的动态库,可以使用cmake来自动链接,网上教程很多,此处不作赘述。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值