Mac OS X compilation error
ShuoYangRobotics opened this issue · comments
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.
Do you get any error?