2011-01-07 56 views
5

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

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的道路是好的。那里有下

回答

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。