2012-04-21 3 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> 

를 대체하기 위해 시도했습니다. 그러나 엑스 코드 오류 다음 던졌다 :

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에 대한 질문을해야한다고 생각합니다. 짧은 답변 : 당신이 .PCH 파일에 # import를 전에 라인 # import를 를 추가하면 방금 데이터 필드에 대한 포인터를 전달하면 고객이 필요로하지 않습니다. – sansuiso