我正在尝试将新的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路径是好的。
下没有任何帮助答案 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。