Ошибка в MATLAB: cvlib_mex.obj: ошибка LNK2019: неразрешенный внешний символ (при попытке использовать cvlib_mex.c в MATLAB)

У меня действительно очень плохая ситуация с моим проектом. Он работает с моим 32-битным рабочим столом и с теми же версиями MATLAB (R2012a) и Visual Studio 2010 Express, но не работает на 64-битном ноутбуке. Последняя ошибка ниже: пока я пытаюсь выполнить это:

function make_cvlib()
%  make_cvlib -- Make the cvlib_mex in windows. It probably will
%  work as well in Linux/Mac with only minor changes
%
%  Author:  Joaquim Luis
%  Date:    07-Sept-2006


% Adjust for your own path
INCLUDE_CV = '''C:\Program Files\OpenCV\cv\include''';
INCLUDE_CXCORE = '''C:\Program Files\OpenCV\cxcore\include''';
LIB_CV = '''C:\Program Files\OpenCV\lib\cv.lib''';
LIB_CXCORE = '''C:\Program Files\OpenCV\lib\cxcore.lib''';

% -------------------------- Stop editing ---------------------------
include_cv = ['-I' INCLUDE_CV ' -I' INCLUDE_CXCORE];
library_cv = [LIB_CV ' ' LIB_CXCORE];

if (ispc)
    opt_cv = '-O -DWIN64 -DDLL_CV100 -DDLL_CXCORE100';
else
    opt_cv = '-O';
end

cmd = ['mex cvlib_mex.c' ' ' include_cv ' ' library_cv ' ' opt_cv];        
eval(cmd)

Вот ошибка:

>> make_cvlib
   Creating library C:\Users\hp\AppData\Local\Temp\mex_cj81oV\templib.x and object C:\Users\hp\AppData\Local\Temp\mex_cj81oV\templib.exp 
cvlib_mex.obj : error LNK2019: unresolved external symbol cvAddS referenced in function cvSubS 
cvlib_mex.obj : error LNK2019: unresolved external symbol cvEllipse referenced in function cvEllipseBox 
cvlib_mex.obj : error LNK2019: unresolved external symbol cvSetData referenced in function localSetData 
cvlib_mex.obj : error LNK2019: unresolved external symbol cvGetSeqElem referenced in function JapproxPoly 
cvlib_mex.obj : error LNK2019: unresolved external symbol cvReleaseMemStorage referenced in function JapproxPoly 
...(65 more)
cvlib_mex.mexw64 : fatal error LNK1120: 69 unresolved externals 

  C:\PROGRA~1\MATLAB\R2012A\BIN\MEX.PL: Error: Link of 'cvlib_mex.mexw64' failed. 

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

Error in make_cvlib (line 26)
eval(cmd)

Пожалуйста, покажите некоторые моменты, которые я упустил...


person Altug Goker    schedule 02.06.2012    source источник
comment
Насколько я помню, VS 2010 Express не может самостоятельно компилировать 64-битные приложения (может быть, если вы добавите тег visual-studio, вы получите более знающих людей, которые скажут вам наверняка).   -  person Amro    schedule 02.06.2012
comment
comment
Последний комментарий обещаю. Существует отличная библиотека openCV-wrapper для MATLAB (mexopencv), которую я проверено лично. Хотя он использует OpenCV 2.x вместо старой версии 1.x, которую вы, похоже, используете   -  person Amro    schedule 02.06.2012