macOS Sierra にアップデートしたMacでbrew install opencv3
shell
brew update
brew install -v cmake
brew install opencv3
と打つと,これでインストールできるはずですが,
...
...
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 11%] Linking CXX shared library ../../lib/libopencv_video.dylib
...
...
...
[ 11%] Built target opencv_video
make: *** [all] Error 2
というようにmakeでエラーが出てしまいました.
~/Library/Logs/Homebrew/opencv/02.make
を見ると
shell-session
/tmp/opencv-20161009-48749-7hs5s5/opencv-2.4.13/modules/highgui/src/cap_qtkit.mm:46:9: fatal error: 'QTKit/QTKit.h' file not found
#import <QTKit/QTKit.h>
^
1 error generated.
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_qtkit.mm.o] Error 1
というエラーが発生していることが確認できました.
エラーの原因
上記のエラーで色々と調べてみると
あたりがヒットしました.
どうやらmacOS Sierraにて,QTkitがサポートされなくなり,その結果エラーが出ているようです.
この問題は既にfixされmasterにmergeされているようなので,
--HEADオプションを付けてインストールします.
shell
brew install opencv --HEAD
するとmakeにようやく成功しました.
ところで,OpenCVはkeg-onlyというパッケージだそうで,シンボリックリンクを貼ってくれないそう.そこで,
shell
brew link opencv3 --force
とすることで強制的にリンクさせます.
最後に,
shell
g++ main.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv`
とすれば,無事コンパイルが通りました.
参考URL