刚开始按照brew install opencv
然后在Xcode中Create New Group等方法做了以后
https://www.cnblogs.com/hongyang/p/6644775.html
在Xcode中
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
int main(int argc, const char * argv[]) {
//Mat image;
std::cout << "Hello, World!\n";
return 0;
}
是没有问题的,一旦用到opencv,比如把Mat那一行注释取消掉,就会build Failed
又按照下述方法重新安装opencv
http://shirashinomiya.hatenablog.com/entry/2018/07/26/212524
but在Xcode中始终无法找到opencv2的库
经过仔细查找,发现不能按照别人描述的folder直接设置Header Search Paths和Library Search Paths
应该先看自己的opencv安装在哪个folder下
一般是在/usr/local/Cellar下
有的技术博客中说在/usr/local/lib,
但用file opencv命令确认后,发现只是一个symbolic link,link的地方还是在/usr/local/Cellar
然后一路向下找,直到找到opencv2文件夹为止,本机走到下述文件夹下找到了opencv2
/usr/local/Cellar/opencv/4.1.0_2/include/opencv4
这时候只需要把/usr/local/Cellar/opencv/4.1.0_2/include/opencv4设为Header Search Paths
同样的把/usr/local/Cellar/opencv/4.1.0_2/lib设为Library Search Paths
这两步做完以后opencv就可以在Xcode中使用了
注意必须首先#include <opencv2/opencv.hpp>
而且要加waitKey,如果不加图片就会显示一瞬间立刻消失
中间出现的还有一个问题就是报错说找不到hdf5,但是查看发现hdf5是已经安装过的
这时候试探性地再次install: brew install hdf5
系统给出信息说已经安装,只是还没有link
所以用brew link hdf5后解决
测试代码就是一个imread和imshow
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core.hpp>
using namespace std;
using namespace cv;
int main(int argc, const char * argv[]) {
Mat src = imread("/Users/myname/Desktop/aa.png", 0);
imshow("result", src);
waitKey(0);
std::cout << "Hello, World!\n";
return 0;
}