zk00006 / OpenTLD

OpenTLD is an open source library for real-time 2D tracking of a single object in video. This repository is no longer under development. For latest version see: http://www.tldvision.com/tld2.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mac OS X compilation error

ShuoYangRobotics opened this issue · comments

commented

Mac
Unix
Undefined symbols for architecture x86_64:
"cvAlloc", referenced from:
mexFunction in lk.o
"cvCalcOpticalFlowPyrLK", referenced from:
mexFunction in lk.o
"cvCreateImage", referenced from:
normCrossCorrelation(IplImage, IplImage, CvPoint2D32f
, CvPoint2D32f
, int, char
, float
, int, int)in lk.o
mexFunction in lk.o
"cvGetRectSubPix", referenced from:
normCrossCorrelation(IplImage, IplImage, CvPoint2D32f
, CvPoint2D32f
, int, char
, float_, int, int)in lk.o
"cvMatchTemplate", referenced from:
normCrossCorrelation(IplImage, IplImage, CvPoint2D32f
, CvPoint2D32f_, int, char_, float_, int, int)in lk.o
"cvReleaseImage", referenced from:
normCrossCorrelation(IplImage, IplImage, CvPoint2D32f
, CvPoint2D32f_, int, char_, float_, int, int)in lk.o
_mexFunction in lk.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

mex: link of ' "lk.mexmaci64"' failed.

Error using mex (line 206)
Unable to complete successfully.

Error in compile (line 77)
eval(['mex lk.cpp -O' include lib]);

I run into the same problem. It is a strange Matlab behaviour, in my case it is trying to compile both, the mac and the unix version because isunix is true for OSX as well. If you change line 64 from

 if isunix

to

if isunix && ~ismac

it might work.

commented

I tried @groakat methods, it didn't work for me. Anyone has other methods?

Do you get any error?

commented

@groakat , I set the lib path wrongly :P, now it works. Thank you~