5

https://github.com/niw/iphone_opencv_testのクローンを作成し、置き換えようとしました

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

#import <opencv2/opencv.hpp>

OpenCVTestViewController.mファイルで。しかし、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"

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

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

また、.m を .mm に変更しようとしましたが、無駄に思えました。どこが間違っていますか?

4

1 に答える 1

3

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

于 2012-04-23T10:31:06.383 に答える