使用OpenCV块设置Cinder项目

时间:2011-01-07 08:34:50

标签: c++ opencv cinder

我正在尝试将新的OpenCV Block与Cinder 0.8.2一起使用。我使用TinderBox在我的用户目录中的某个地方设置项目,并且刚刚尝试设置基本的视频捕获例程。我将OpenCv Block作为一个组添加到项目中。

cv::Mat input( toOcv( capture.getSurface() ) )

当我添加此代码时,我收到以下错误

Undefined symbols:
  "cv::fastFree(void*)", referenced from:
      cv::Mat::release()    in ColourDanceApp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

我将上面的代码分解为

Surface frame; 
frame = mCap.getSurface(); 
cv::Mat matrix; 
matrix = toOcv( frame ); 
cv::Mat input( matrix );

发现我收到了这个错误:

cv::Mat matrix; (and a whole bunch of errors)

自从我完成任何C ++以来已经有一段时间了,但我从这里得出结论,它的项目设置问题是它主要来自OpenCV示例的代码。它走得那么远的事实告诉我Cinder路径是好的。

下没有任何帮助

1 个答案:

答案 0 :(得分:3)

这是一个老问题,但这是解决方案

http://forum.libcinder.org/topic/how-to-use-cinderblocks-in-xcode

1)将用户标题搜索路径设置为:

"$(CINDER_PATH)/blocks/opencv/include"

2)设置其他链接标记以包含您要使用的.a文件。例如:

"$(CINDER_PATH)/blocks/opencv/lib/macosx/libopencv_core.a"

适用于从Github下载的最新版本的Cinder。