2011-01-07 54 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。