使用OpenCV块设置Cinder项目

CpI*_*ILL 5 c++ opencv cinder

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

cv::Mat input( toOcv( capture.getSurface() ) )
Run Code Online (Sandbox Code Playgroud)

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

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

我把上面的代码分解成了

Surface frame; 
frame = mCap.getSurface(); 
cv::Mat matrix; 
matrix = toOcv( frame ); 
cv::Mat input( matrix );
Run Code Online (Sandbox Code Playgroud)

并发现我收到此错误:

cv::Mat matrix; (and a whole bunch of errors)
Run Code Online (Sandbox Code Playgroud)

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

Pie*_*ier 3

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

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

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

"$(CINDER_PATH)/blocks/opencv/include"
Run Code Online (Sandbox Code Playgroud)

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

"$(CINDER_PATH)/blocks/opencv/lib/macosx/libopencv_core.a"
Run Code Online (Sandbox Code Playgroud)

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