美文网首页MacOpenCV
解决OSX升级到MacOS Sierra10.12,安装open

解决OSX升级到MacOS Sierra10.12,安装open

作者: 王小明明明 | 来源:发表于2016-12-04 13:54 被阅读1589次

本文主要讲两件事情:

用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

相关文章

网友评论

  • 148c9be4409a:我加了contrib安装会有问题。brew install opencv3 --with-contrib --with-python3 --HEAD。都是提示Error: No such file or directory - /private/tmp/opencv3-20170420-4397-aqshhe/3rdparty/ippicv/downloader.cmake 。 请问你遇到过这个情况吗
    Niceycb:@20130812

    # 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??...)?
    ^
    王小明明明:@Niceycb
    在命令行输入:
    $ 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

    最后,重新输入文章中的安装命令!
    Niceycb:我按作者的方法出现了和你一样的问题:Error: No such file or directory - /private/tmp/opencv3-20170808-16363-2wyzet/3rdparty/ippicv/downloader.cmake
    你解决了吗:cry:
  • cad0f96e0c45:怎么安装静态库?

本文标题:解决OSX升级到MacOS Sierra10.12,安装open

本文链接:https://www.haomeiwen.com/subject/ktoflttx.html