解决OSX升级到MacOS Sierra10.12,安装opencv报错

本文主要讲两件事情:

用homebrew安装opencv

解决macOS sierra10.12,安装opencv报错:QTKIT/QTKIT.h file


## 用homebrew 安装opencv

这个本文就不说了吧!到处都是!

(不得不吐槽一下中国的博客,搜索了20多个博客全部都是一摸一样的解决方案问题是还不能解决问题。😂)

## 解决安装opencv报错

用homebrew安装opencv3,结果编译报错。下面贴出报错的make命令。

[ 66%] Built target opencv_photo/tmp/opencv3-20161011-39738-1h8e3c8/opencv-3.1.0/modules/videoio/src/cap_qtkit.mm:46:9: fatal error: 'QTKit/QTKit.h' file not found#import

^1 error generated.make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_qtkit.mm.o] Error 1make[2]: *** Waiting for unfinished jobs....make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2make: *** [all] Error 2

从上面可以看出问题在于 ‘QTKit.h’ file not found.

于是搜索了一番,发现大多数博客提出的解决方案是

从未升级到10.12的mac中复制QTKit.framework

但是这种方法只能是扬汤止沸,从osx系统本身来说破坏了系统的闭环,后面会造成系统混乱。其实主要的原因是:Apple的API Reference QTKit 提到OS X v10.9后的系统对QTKit.framework将不做支持,替代框架为AVFoundation .

最终到opencv和homebrew/science找寻有没有人提出issue和对应大神的解决方案。结果真找到了 在opencv下面pull request #7266 已经合并,这个merge已经是最新的版本,说明有可能已经把qtkit.framework代替为了AVFoundation 。

铛铛铛!!

Brew下面有一个命令`

--HEAD    Install HEAD version

意思就是安装时候加上—HEAD就能安装与当前系统匹配的master版本。

brew install opencv3 --HEAD

然后你要做的就是喝杯🍵!完成了。

==> Summary  /usr/local/Cellar/opencv3/HEAD-73a8fa8_4: 285 files, 46.4M, built in 31 minutes 5 seconds

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容