2013-08-21 3 views
1

내가 만들고있는 OSX 응용 프로그램에 OpenFrameworks를 사용하고 싶습니다. 그러나 C++ OpenCV 명령을 사용하는 기존 코드를 포함해야합니다. cv :: imread().OpenFrameworks 내에서 OpenCV C++ 명령 사용 Xcode OSX Project

Xcode 링커에서 Undefined symbols for architecture i386: "cv::imread(std::string const&, int) 오류가 발생합니다. 처음에 나는 ofxOpenCv에있는 기존의 OpenCV 코드를 사용하려고 시도 했었습니다. 그런 다음 이전 OpenFrameworks 프로젝트가 아닌 OpenCV 프레임 워크를 포함하는 것으로 되돌아갔습니다. 두 방법 모두 연결 문제를 해결하지 못했습니다. 오픈 프레임 웍스가 된 libstdC++ 컴파일러로 컴파일하는 동안

는 지금까지 내가 말할 수있는 문제는, OpenCV의이 의 libC++ 컴파일러로 컴파일된다는 점이다.

  • This presentation은 OpenFrameworks에서 C++ OpenCV 명령을 사용하는 방법을 보여 주지만 자세한 계정은 아니지만 Windows에서 사용됩니다.
  • This SO Question은 OpenCV가 libstdC++에서 다시 컴파일 될 수 있음을 의미하지만 주어진 솔루션은 iOS 용이며 참조 된 make 파일은 OSX/Linux 용으로 존재하지 않습니다.

OpenFrameworks를 OSX에서 OpenCV C++ 명령과 함께 사용할 수 있습니까?

+0

github에 게시 할 수 있습니까? 프로젝트/코드를 보지 않고도 말하기가 어렵습니다. –

답변

2

Kyle McDonald's ofxCv addon을 사용하십시오. openframeworks에서 opencv에 훨씬 좋은 인터페이스입니다. 그것은 바로 당신의 응용 프로그램에 cv::Mat을 그리는 ofImage의 cv::Mat 다시 예를 들어, 또는 helpers 변환하는 Utilities을 포함

#include "testApp.h" 

using namespace ofxCv; 
using namespace cv; 
Mat img; 
void testApp::setup() { 
    img = imread("yourImage.png");//make sure the path is correct 
} 

void testApp::update() { 
} 

void testApp::draw() { 
    drawMat(img,0, 0); 
} 

은 또한 당신의 Undefined symbols for architecture i386: 오류는 아마 64 (64 비트)에서 OpenCV에 링크 의미한다. dylib 파일이 아니라 i386 (32b 비트) 파일입니다.