本文主要讲两件事情:
用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
网友评论
# if build.with?("python3") && build.with?("python")
# # Opencv3 Does not support building both Python 2 and 3 versions
# odie "opencv3: Does not support building both Python 2 and 3 wrappers"
# end
注释完报错如下,但是我在修改的那个文件中 并没有看到它说的'!',也不知道‘?SDγ?qm?????5??’这些是什么,求大神解释
Error: opencv3: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-science/opencv3.rb:1: syntax error, unexpected '!', expecting end-of-input
?SDγ?qm?????5??...)?
^
在命令行输入:
$ brew edit opencv3
找到下面四行,并注释!
if build.with?("python3") && build.with?("python")
# Opencv3 Does not support building both Python 2 and 3 versions
odie "opencv3: Does not support building both Python 2 and 3 wrappers"
end
最后,重新输入文章中的安装命令!
你解决了吗