2012-04-21 4 views
5

私はhttps://github.com/niw/iphone_opencv_testをクローン化し、OpenCVTestViewController.mファイルにOpenCVのプロジェクト - opencv.hppの建物の問題

#import <opencv2/opencv.hpp> 

#import <opencv2/imgproc/imgproc_c.h> 
#import <opencv2/objdetect/objdetect.hpp> 

を交換しようとしました。しかし、XCodeのは、次のエラー投げた:だから

iphone_opencv_test/opencv_device/include/opencv2/opencv.hpp:55:10: fatal error: 'opencv2/calib3d/calib3d.hpp' file not found [2] 
#include "opencv2/calib3d/calib3d.hpp" 

を、私はopencv.hppファイルから行#include "opencv2/calib3d/calib3d.hpp"を削除しようとしました。以下のエラーがスローされました:

iphone_opencv_test/opencv_device/include/opencv2/ml/ml.hpp:2075:10: fatal error: 'map' file not found [2] 
#include <map> 

私も.mを.mmに変更しようとしましたが、無駄だったようです。どこが間違っている?

+0

このフレームワークを試すことができます... http://aptogo.co.uk/2011/09/opencv-framework-for-ios/ – Aravindhan

+0

@Aravindhanarvi返信ありがとうございます。私はすでにこのプロジェクトのアプローチを使用していますが、プロジェクトの(私が投稿した)アプローチがうまくいかないことを知りたいだけです。 – user961912

答えて

3

OpenCVのMAX/MINマクロとCocoaのMAX/MINが競合しています。コンパイル時にこのような奇妙なエラーが発生します。この問題を回避するには、次のいずれかを実行します。 1.定義済みヘッダーファイルの先頭に「 」を追加します。2. .m/.mmファイルには含まれないように、opencvとobj-cコードを完全に切り離します。これは、例えば、間でブーストGILを使用することによって、またはカスタムのバニラC++クラスを使用して、Cocoaフレームワークからopencv C++画像処理クラスに画像データを渡すことによって行うことができます。

+0

ありがとう、それは私が欲しかった! – user961912

+0

ブーストGILの使い方に関するチュートリアルはありますか? –

+0

これは難しいです、私はあなたがStackOverflowの質問をするべきだと思います。簡単な答え:データフィールドへのポインタを渡すだけで、.import 行を.pchファイルの#import の前に追加すると、その必要はありません。 – sansuiso